winforms 如何从DataGridView中删除行?

mwg9r5ms  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(279)

我有一个winform,上面预加载了DataGridView ...我想在选择或突出显示行并单击按钮时从DataGridView中删除行...
也要清除所有列......。
目前我使用

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

但它正在抛出一个异常,即“行或未提交”或其他什么...如果任何人有任何更好的建议,这将是值得赞赏的...。

vdzxcuhz

vdzxcuhz1#

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

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    if(!row.IsNewRow)
       dataGridView1.Rows.Remove(row);
}
5f0d552i

5f0d552i2#

删除DGVRows(){

for (int idx = 0; idx < DGV_PRInvoice.RowCount; idx++)
        {
            double ReturnQty = double.Parse(DGV_PRInvoice.Rows[idx].Cells[5].Value.ToString());
            if (ReturnQty == 0)
            {
                DGV_PRInvoice.Rows.RemoveAt(idx);
            }
        }
    }

相关问题