Как очистить текущую строку DataGridView в C #? - PullRequest
0 голосов
/ 26 июня 2018

Я занимаюсь разработкой приложения для Windows для Книжного магазина. В этом приложении есть дата-сетка для выбора книг для продажи. Если на складе нет доступных товаров, мне нужно очистить текущие значения строк. Так как я могу это сделать. Я попробовал это

dataGridView1.Rows.Clear();

Но это ясно весь обзор данных. Но мне нужно очистить только текущую строку, когда я нажимаю "ОК" на сообщение.

enter image description here

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Я всегда использую removeat, сначала проверяя, что что-то выбрано, а затем выполняю removeat при передаче индекса.

if(dataGridView1.CurrentRow.Index > -1 && !dataGridView1.Rows[dataGridView1.CurrentRow.Index].IsNewRow)
    dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);

РЕДАКТИРОВАТЬ: Добавлена ​​проверка для IsNewRow в случае, если AllowUsersToAddRows имеет значение True, которое выдает и исключение, если это была выбранная строка.

0 голосов
/ 26 июня 2018

Вам необходимо указать строку в таблице данных, которую вы хотите удалить. Вы можете сделать это, выбрав «индекс» выбранной строки.

dataGrid.Rows[index].Selected = true;

или вы можете сделать следующее:

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}
...