2011-05-04 88 views
1

我有一个datagridview2在我的窗体上有4列,并有数据。我想在它的最后添加一行并用数据填充它。但是,当我使用'Me.DataGridView2.Rows.Add()'它增加了行,但不是datagridview的结束。有没有办法在datagridview的末尾添加一个空行?如何在DataGridview的末尾添加一行?

回答

0

我试过了,它在DataGridView的最后添加了行。 我在窗体中拖动了一个DataGridView和一个按钮。 下面是代码:

private void addRowbutton_Click(object sender, EventArgs e) 
{ 
    dataGridView1.Rows.Add(); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 
    dataGridView1.Columns.Add("ID", "Product ID"); 
    dataGridView1.Columns.Add("Name", "Product Name"); 
    dataGridView1.Columns.Add("Description", "Description"); 
    dataGridView1.Columns.Add("Price", "Price"); 
    for (int i = 0; i < 2; i++) 
    { 
    DataGridViewRow row = new DataGridViewRow(); 
    row.CreateCells(dataGridView1); 
    row.Cells[0].Value = i; 
    row.Cells[1].Value = "Product " + i; 
    row.Cells[2].Value = "Description of Product " + i; 
    row.Cells[3].Value = "99.99"; 
    dataGridView1.Rows.Add(row); 
    } 
} 

如果填充通过数据绑定无法通过编程添加行DataGridView的。

4

datagridview中的最后一行是允许用户添加行,如果他想要的话。

设置DataGridView2.AllowUserToAddRows =假

然后尝试使用Me.DataGridView2.Rows.Add()。它会将原始数据添加到 dataGridView的末尾

+0

注意:这在设置RowCount时也是需要的。如果你最后一行没有IsNew = true,并且不能被删除/移动等。 – TaW 2017-05-08 09:17:58

2

我会upvote @ user1157690,但我没有足够的声望来这样做。为了一个空白行添加到底层:

DataGridView2.AllowUserToAddRows = false; 
for (int i = 0; i < 10; i++) 
{ 
    DataGridView2.Rows.Add(); 
} 
DataGridView2.AllowUserToAddRows = true; 

这将允许您按时间顺序编程输入10个空行从最旧到最新,同时允许在必要时用户输入更多的行。这是我了解的允许用户灵活性和程序员一致性的最佳方法。