Вставить строку в середину DataGridView (C#)
Я хотел бы вставить новый DataGridViewRow в мой DataGridView по определенному индексу. Если я просто создам новую строку, как
DataGridViewRow dgwr = new DataGridViewRow();
datagridview1.Rows.Insert(index, dgwr);
Я не получу "настройки" DataGridView, например, мои "ячейки" будут равны 0. Этого не произойдет, если я использую.
DataGridView1.Add();
но опять же, тогда я не могу выбрать, где в списке я хотел бы мой пост...
есть ли возможность объединить эти преимущества?
/Ник
2 ответов
grid.Rows.Insert(index, 1);
var addedRow = grid.Rows[index];
это вставляет 1 пустую шаблонную строку в "индекс", а затем просто обращается к строке в "индекс". Вторая строка предназначена для доступа к только что добавленной строке.
может также сократить, если вы знаете, ваши желаемые значения строк с:
grid.Rows.Insert(index, FirstName, LastName, BirthDate, Etc);
просто убедитесь, что он синхронизирован с порядком столбцов в сетке, и он автоматически делает строку с этими полями.
DataGridView
и DataGridRowView
- это просто визуальные представления источника данных и одной строки в источнике данных. Новая визуальная строка должна отображаться в DataView после добавления новой строки в источник данных.
Если вы хотите получить строку вида при добавлении новой строки дескриптор RowsAdded событие.