如何从数据网格视图中删除行
本文关键字:视图 删除行 网格 数据网 数据 | 更新日期: 2023-09-27 18:28:09
朋友们,我在我的windows C#应用程序中使用datagridview。我们知道,当加载带有datagridview的表单时,会在网格中创建一个默认行。如果我们在任何单元格中键入任何内容(我总共有6列,2个隐藏列),就会创建一个新行。但是,如果我们删除条目,则不会删除新创建的行。通过这种方式,我们可以创建任意数量的行,而无需在任何单元格中保留任何值。我希望datagridview最多创建2行这样的行,当这两行中都没有值时,最后一行将被删除(这样网格将有1行没有任何数据)。我试图删除datagridview1_CellValueChanged事件中的行,但它不起作用。我应该使用哪个事件,如何获得所需的功能?请帮忙。
试试这个:
DataGridView1.Rows.Remove(row);
我们有两个函数从DataGridView 中删除行
dataGridView1.Rows.Remove();
dataGridView1.Rows.RemoveAt();
您可以提供该行的索引作为参数来删除该行。
您可以在DataGridView 的Validating或Validated事件中让步
如果使用相同的网格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);
}
会自动添加一个默认行以允许用户输入。如果不希望这样,请将DataGridView AllowUserToAddRows
属性设置为false。
dataGridView.AllowUserToAddRows = false;
使其有效地成为只读网格。