Вставить строку в середине DataGridView (C #) - PullRequest
10 голосов
/ 26 марта 2012

Я хотел бы вставить новый DataGridViewRow в мой DataGridView по определенному индексу. Если я просто создаю новую строку, как

DataGridViewRow dgwr = new DataGridViewRow();
datagridview1.Rows.Insert(index, dgwr);

Я не получу «настройки» DataGridView, как, например, мои «Ячейки» будут 0. Это не произойдет, если я использую.

DataGridView1.Add();

Но опять же, тогда я не могу выбрать, где в списке я хотел бы мой пост ...

Есть ли способ объединить эти преимущества?

/ Ник

Ответы [ 2 ]

6 голосов
/ 26 марта 2012
grid.Rows.Insert(index, 1);
var addedRow = grid.Rows[index];

Это вставляет 1 пустую шаблонную строку в «index», а затем просто обращается к строке в «index». 2-я строка предназначена для доступа к только что добавленной строке.

Можно также сократить, если вы знаете желаемые значения строк с помощью:

grid.Rows.Insert(index, FirstName, LastName, BirthDate, Etc);

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

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

DataGridView и DataGridRowView - это просто визуальные представления вашего источника данных и одна строка в вашем источнике данных. Новая визуальная строка должна отображаться в вашем DataView после добавления новой строки в ваш источник данных.

Если вы хотите получить строку представления при добавлении новой строки, укажите RowsAdded событие.

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