Vb.net DataGridView删除错误

Vb.net DataGridView删除错误,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,我想删除DataGridView中的重复值和空行。 我正在为此使用以下代码 Private Sub dgwsil() On Error Resume Next For i2 As Integer = DataGridView1.RowCount - 1 To 0 Step -1 If Trim(DataGridView1.Rows(i2).Cells(0).Value.ToString()) = "" Then DataGridView1.Rows.RemoveAt(

我想删除DataGridView中的重复值和空行。 我正在为此使用以下代码

Private Sub dgwsil()
  On Error Resume Next
  For i2 As Integer = DataGridView1.RowCount - 1 To 0 Step -1
    If Trim(DataGridView1.Rows(i2).Cells(0).Value.ToString()) = "" Then
      DataGridView1.Rows.RemoveAt(i2)
    End If
  Next

  Dim numberOfRows = DataGridView1.Rows.Count
  Dim i As Integer = 0
  While i < numberOfRows - 2
    For ii As Integer = (numberOfRows - 1) To (i + 1) Step -1
      If DataGridView1.Rows(i).Cells(0).Value.ToString() = DataGridView1.Rows(ii).Cells(0).Value.ToString() Then
        DataGridView1.Rows.Remove(DataGridView1.Rows(ii))
        numberOfRows -= 1
      End If
    Next
    i += 1
  End While
End Sub
专用子dgwsil()
出错时继续下一步
对于i2,作为整数=DataGridView1.RowCount-1到0步骤-1
如果Trim(DataGridView1.Rows(i2.Cells(0.Value.ToString())=”则
DataGridView1.Rows.RemoveAt(i2)
如果结束
下一个
Dim numberOfRows=DataGridView1.Rows.Count
尺寸i为整数=0
而我
代码有时工作正常

但有时会出现错误


我怎样才能解决这个问题?或者您是否使用了任何代码?

看起来您是带着VBA的心态来解决这个问题的。在VBA中,您通常会直接操作
datagridview
,并且可以接受
On Error Resume Next

在VB.NET中,您不想做这两件事。您的
datagridview
应该绑定到一个信息集合。该集合可以是
数据表
数组
或任何类型的集合。因此,与直接使用循环操作
datagridview
不同,您可以通过后台集合循环,或者更好地通过
LINQ
集合,并根据需要对其进行操作。有大量的教程解释了你可能需要的一切,所以谷歌搜索如何将
datatable
绑定到
datagridview
应该可以满足你的需要


我还建议查看
Try…Catch…Finally…
结构。您真的应该使用它来处理代码中可能出现的任何错误。

可能的重复信息并没有提供足够的帮助,但可能有一个单元格值为null,您正试图调用它的
ToString