2012-03-26 45 views
9

我想在特定索引处的DataGridView中插入一个新的DataGridViewRow。如果我只是创建一个新的行状在DataGridView中插入行(C#)

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

我不会得到DataGridView中的“设置”例如像我的“单元格格式”将为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 – 2012-03-26 06:38:00

+0

谢谢!但是,我仍然不知道什么值,所以我只是喜欢Rows [i] .Cells就像其他行(与DataGridView1.ColumnCount相同的“计数”)。我在使用单元格时如何做到这一点? :) – Nick3 2012-03-26 07:04:16

+0

@ Nick3您可以将它用作网格中的任何其他行。你的意思是与细胞一起工作? – SimpleVar 2012-03-26 15:04:16

1

DataGridViewDataGridRowView只是数据源和数据源中的一行的可视化表示。将新行添加到数据源后,应在DataView中显示新的可视行。

如果要在添加新行的时候获取视图行,请处理RowsAdded事件。

+0

我没有数据库,我只是手动在行上添加文本。但是,谢谢! – Nick3 2012-03-26 07:04:59