Как удалить строку из datagridview? - PullRequest
0 голосов
/ 19 марта 2012

Друзья, я использую datagridview в моем приложении Windows C #. Мы знаем, что при загрузке формы с datagridview в сетке создается строка по умолчанию. Если мы введем что-либо в какую-либо ячейку (у меня всего 6 столбцов, 2 скрытых столбца), будет создана новая строка. Но если мы удаляем запись, вновь созданная строка не удаляется. Таким образом, мы можем создать столько строк, сколько захотим, не сохраняя никакого значения в любой ячейке. Я хочу, чтобы datagridview максимально создавал 2 такие строки, и когда в обеих строках нет никакого значения, последняя строка будет удалена (так что в сетке будет 1 строка без каких-либо данных). Я пытался удалить строку в событии datagridview1_CellValueChanged, но это не работает. Какое событие я должен использовать и как получить желаемую функциональность? Пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 19 марта 2012

Попробуйте это:

DataGridView1.Rows.Remove(row);
0 голосов
/ 20 декабря 2012

Если вы зациклились, используя ту же сетку RowCount, она не будет работать

  for(int i = 0;i<dataGridMaster.Rows.Count;i++)
            {
               dataGridMaster.Rows.RemoveAt(i);
            }

Он не будет работать правильно, потому что во время цикла количество строк изменяется.

Вместо этого присвойте номер локальной переменной, например:

Int loopNum = dataGridMaster.Rows.Count;
for(int i = 0;i<loopNum ;i++)
            {
               dataGridMaster.Rows.RemoveAt(i);
            }
0 голосов
/ 19 марта 2012

У нас есть две функции для удаления строк из DataGridView.

dataGridView1.Rows.Remove();
dataGridView1.Rows.RemoveAt();

. Вы можете указать индекс строки в качестве параметра для удаления строки.

Вы можете указать в событии Validating или Validated.DataGridView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...