buterfly Ответов: 5

Удалите текущую строку из datagridview


привет..

я хочу удалить текущую строку в таблице данных, как я могу это сделать. и я хочу написать это в ячейке enter event.
то, что я делаю здесь, заключается в том, что в ячейке enter event в таблице данных я проверяю погоду, введенное значение уже есть в базе данных. если это так, то я очищаю это введенное значение и хочу удалить эту строку. здесь я не знаю, как удалить этот ряд.

спасибо...

5 Ответов

Рейтинг:
40

er.rohitkatoch

Предположим, что имя используемой Datagrid - dgvGrid
Теперь чтобы удалить выбранную в данный момент строку используйте следующий код

dgvGrid.Строк.RemoveAt(dgvGrid.CurrentRow.Индекс);

| / ly вы можете удалить строку в любом индексе, написав индекс строки, который вы хотите удалить

например, удаление строки в индексе ' i ' код выглядит следующим образом:-

dgvGrid.Строк.RemoveAt(я);

думаю, это поможет..


Рейтинг:
1

buterfly

привет...

здесь я хотел написать этот код в событии ввода ячейки. но когда я пишу его там он дает ошибку говоря:
"Операция не может быть выполнена в этом обработчике событий."

Итак, что мне теперь делать.

(я действительно не знаю, как я могу ответить за тот ответ, который вы дали. я надеюсь, что именно так я и должен поступить.)

спасибо снова..


Рейтинг:
1

buterfly

даже когда я пишу код в ячейке leave event, он выдает ту же ошибку, что и раньше.: confused:


и я действительно хочу перейти к следующей строке после удаления текущей строки. поэтому нельзя использовать, что электронной.Отмена = истина;

поскольку я так новичок в c#, я так запутался, что делать.
спасибо за все ответы.


Рейтинг:
1

Member 11539463

if (e.KeyCode == Keys.Delete) {
	int x = DataGridView1.CurrentRow.Index;

	DataGridView1.Rows.Remove(DataGridView1.Rows(x));
}


Kats2512

Молодец! Боюсь, вы опоздали на 7 лет!

Рейтинг:
0

Er.bRijal

Вы можете использовать событие проверки строк.

Проверьте базу данных на дублирование. Теперь, если вы не хотите, чтобы пользователь вводил это мусорное значение, включите e. Cancel = True, это не позволит пользователю перейти к следующей строке.

Он не удалит строку, но и не позволит сделать это для следующей.

частная dataGridView1_RowValidating недействительным(объект отправителя, DataGridViewCellCancelEventArgs е)
{
если (dataGridView1.Ряды[электронный.Параметр rowindex].Ячейки ["имя"]. значение.ToString () = = " тест")
{
Ящик для сообщений.Показать ("не могу войти");
е.Отмена = истина;
}

}

Просто протестируйте этот код.
Надеюсь, это сработает для вас.