12

我有一个带有预加载 DataGridView 的 winform...我想在选择或突出显示行并单击按钮时从 datagridview 中删除行...

还想清除所有列....

目前我用

foreach (DataGridViewRow dgvr in dataGridView2.Rows)
{
    if (dgvr.Selected == true)
    {
        dataGridView2.Rows.Remove(dgvr);
    }
}

但它抛出了“行或未提交”之类的异常……如果有人有更好的建议,那将是不言而喻的……

4

1 回答 1

27

如果您已AllowUserToAddRows在 DataGridView 上启用,那么您可能会意外删除 DataView 底部的空行,该行是下一个用户创建的行的占位符。如果不需要,请尝试禁用此选项,否则请尝试使用如下代码:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    if(!row.IsNewRow)
       dataGridView1.Rows.Remove(row);
}
于 2012-07-01T11:21:00.480 回答