2012-03-26 11 views
9

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

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

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

DataGridView1.Add(); 

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

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

/Ник

ответ

5
grid.Rows.Insert(index, 1); 
var addedRow = grid.Rows[index]; 

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

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

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

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

+0

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows.aspx –

+0

Спасибо! Но все же, я не знаю, какие значения все же, так что я бы просто хотел Rows [i]. Цвета будут похожи на другие строки (тот же «Count», что и DataGridView1.ColumnCount). Как я могу это сделать, когда Im работает с ячейкой? :) – Nick3

+0

@ Nick3 Вы ​​используете его как любую другую строку в сетке. Что значит работать с камерой? – SimpleVar

1

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

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

+0

У меня нет данных, я просто добавляю текст в строки вручную. Но спасибо! – Nick3

Смежные вопросы