Member 13153537 Ответов: 1

Как добавить новую строку в верхнюю часть datagridview без использования кнопки в приложении C# windows


У меня есть datagridview в этих текстовых полях и comboxes.Если я введу значения в первое текстовое поле,а затем нажму enter или tab, то новая пустая строка появится в верхней части datagridview.
Как это сделать, я нашел несколько кодов,но в этом случае мне нужно написать.Пожалуйста, кто-нибудь может мне в этом помочь.Заранее спасибо.

Что я уже пробовал:

   dgvwChqs.Rows.Insert(0, new string[] {
null, null,null,null,null });

1 Ответов

Рейтинг:
0

CHill60

Даже вы, вероятно, хотите использовать это TextBox1_Validated

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

Совершенно верно нет захотите использовать TextBox1_TextChanged потому что вы в конечном итоге получите новую строку для каждого нажатие клавиши в текстовом поле 1!

[РЕДАКТИРОВАТЬ]
Вышеприведенное решение предполагало, что у вас есть текстовое поле, отдельное от DataGridView, и ввод данных в него вызовет добавление новой строки в DGV.

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

Насколько я могу судить, Вы не можете этого сделать, так как акт редактирования строки временно предотвращает добавление новых строк. Существует список событий, которые затрагиваются по этой ссылке DataGridViewRowCollection.Добавить Метод (System.Окна.Формы)[^]

Альтернативой является наличие "области ввода" для DGV - вы потенциально можете расположить текстовое поле над DGV, а затем использовать метод, который я первоначально предложил.


Member 13153537

В datagridview textbox имеет опцию Textbox1_Valiadated event, которая недоступна.

CHill60

Когда вы сказали, что вводите данные в первое текстовое поле, я не понял, что вы имели в виду, что вводите данные в первый столбец datagridview. Как вы можете вводить данные в строку, которая еще не существует?
Тем не менее, я обновлю свое решение соответствующим событием

Member 13153537

хорошо, спасибо.