朋友们,我在windows C#应用程序中使用了datagridview。我们知道,当加载带有datagridview的表单时,会在网格中创建一个默认行。如果我们在任何单元格中输入任何内容(我总共有6列,2个隐藏列),则会创建一个新行。但是,如果我们删除该条目,则不会删除新创建的行。通过这种方式,我们可以创建所需的行,而不会在任何单元格中保留任何值。我希望datagridview最多创建2个这样的行,当两个行中没有值时,要删除的最后一行(这样网格将有1行,其中没有任何数据)。我试图删除datagridview1_CellValueChanged事件中的行,但它不起作用。我应该使用哪个事件以及如何获得所需的功能?请帮忙。
答案 0 :(得分:1)
试试这个:
DataGridView1.Rows.Remove(row);
答案 1 :(得分:0)
我们有两个从DataGridView中删除行的函数
dataGridView1.Rows.Remove();
dataGridView1.Rows.RemoveAt();
您可以提供行的索引作为参数来删除行。
您可以提供DataGridView的验证或验证事件
答案 2 :(得分:0)
如果使用相同的网格RowCount进行循环,则无法正常工作
for(int i = 0;i<dataGridMaster.Rows.Count;i++)
{
dataGridMaster.Rows.RemoveAt(i);
}
它无法正确完成工作,因为行数在循环时会发生变化。
而是将数字分配给局部变量,如:
Int loopNum = dataGridMaster.Rows.Count;
for(int i = 0;i<loopNum ;i++)
{
dataGridMaster.Rows.RemoveAt(i);
}
答案 3 :(得分:0)
自动添加默认行以允许用户输入。如果您不想这样做,请将 DataGridView AllowUserToAddRows
属性设置为 false。
dataGridView.AllowUserToAddRows = false;
使其有效地成为只读网格。