Vb.net 从DataGridView中删除DataGridViewRow

Vb.net 从DataGridView中删除DataGridViewRow,vb.net,datagridview,Vb.net,Datagridview,我试图在单击按钮时删除行中某个单元格中没有值的一系列行。但是当我点击按钮时,并不是所有的都被删除。对于每个语句,你对中的变量行做了什么?我在google中看到了一个使用该循环在datagrid中搜索的示例。我将行作为将被删除的索引。首先:每个循环都在DataGridView中检查同一行。您应该在If语句中使用行而不是dgv1stSem。第二:如果一行中有两行包含vbNullString,这可能会在运行时导致问题。尝试从头到尾循环DataGridView。这就是我所说的:-)通过DGV向后循环应该

我试图在单击按钮时删除行中某个单元格中没有值的一系列行。但是当我点击按钮时,并不是所有的都被删除。

对于每个语句,你对
中的变量
做了什么?我在google中看到了一个使用该循环在datagrid中搜索的示例。我将
作为将被删除的索引。首先:每个循环都在DataGridView中检查同一行。您应该在If语句中使用
而不是
dgv1stSem
。第二:如果一行中有两行包含vbNullString,这可能会在运行时导致问题。尝试从头到尾循环DataGridView。这就是我所说的:-)通过DGV向后循环应该可以做到。从最后一行开始,向后循环;-)您需要这样做:
对于rowid As Integer=dgv1stSem.Rows.Count-1到0步骤-1
您对
中的变量
Row
做什么?我在google中看到了一个例子,它使用该循环在datagrid中搜索。我将
作为将被删除的索引。首先:每个循环都在DataGridView中检查同一行。您应该在If语句中使用
而不是
dgv1stSem
。第二:如果一行中有两行包含vbNullString,这可能会在运行时导致问题。尝试从头到尾循环DataGridView。这就是我所说的:-)通过DGV向后循环应该可以做到。从最后一行开始,向后循环;-)您需要这样做:
对于rowid As Integer=dgv1stSem.Rows.Count-1到0步骤-1
Dim Count As Integer = 1
For Each Row As DataGridViewRow In Me.dgv1stSem.Rows
    If dgv1stSem.Item(1, Count).Value = vbNullString Then
        dgv1stSem.Rows.Remove(Row)
    End If
    Count = Count + 1
Next