从DataGridView中删除行

时间:2011-02-09 20:40:46

标签: .net vb.net

为了初始化我的VouchersDGV数据网格视图我正在使用以下

 DGV.AllowUserToDeleteRows = True
 For i = 1 To DGV.RowCount - 1
     DGV.Rows.Remove(DGV.Rows(i - 1))
     DGV.Refresh()
 Next

但是当我第一次运行它时,我会接受

的错误
  

{“无法删除未提交的新行。”} System.InvalidOperationException

如果我将继续运行我的代码并在我的数据网格中写一个新行,我会尝试再次初始化(现在我有两行,一行有数据,另一行是空的)我接受这个错误

  

{“无法删除未提交的新行。”} System.InvalidOperationException

我无法解决,请有人帮助我吗?

2 个答案:

答案 0 :(得分:5)

If Not DGV.Rows(i).IsNewRow Then
    DGV.Rows.RemoveAt(i)
End If

将此条件添加到循环中。或者,您也可以使用DGV.RejectChanges()将所有行状态重置为原始状态。

答案 1 :(得分:2)

如果您的目标是清空行集合,则只需使用Rows集合的Clear方法:

DGV.Rows.Clear()

希望这有帮助。