Vb.net 删除datagridview中的行

Vb.net 删除datagridview中的行,vb.net,datagridview,Vb.net,Datagridview,我试图删除datagridview中的行,但这只是从符合条件的记录的自下而上部分删除。我需要它来删除所有记录。请帮忙!这是我的密码: For n As Int32 = DataGridView1.Rows.Count - 1 To 0 Step -1 Dim c As Boolean c = DataGridView1.Rows(n).Cells(0).Value If c = True Then DataGridView1

我试图删除datagridview中的行,但这只是从符合条件的记录的自下而上部分删除。我需要它来删除所有记录。请帮忙!这是我的密码:

For n As Int32 = DataGridView1.Rows.Count - 1 To 0 Step -1
        Dim c As Boolean
        c = DataGridView1.Rows(n).Cells(0).Value
        If c = True Then
            DataGridView1.Rows.RemoveAt(n)
        Else
        End If
    Next n

注意:此代码适用于较短的列表,但在较大的列表中,它仅删除部分选定的记录。我所说的selected是指带有“c=True”的记录,我会从上到下迭代,这样在删除行时就不会跳过行

For each row as DataRow in DataGridView1.Rows
    Dim c As Boolean
    c = isNumeric(row(0)
    If c = True Then
        DataGridView1.Rows.Remove(row)
    Else
    End If
Next

这段代码应该可以满足您的需要。

向后迭代…想想当您删除时会发生什么-所有内容都向上移动一次,因此会跳过一些内容。此外,如果数据仍然绑定到DataTable,则删除DGV行对数据没有任何影响。@Proputix这不是我已经在做的吗???“如果是这样的话,为什么不起作用呢?”拉尔斯泰克我觉得很抱歉,眼睛一整天都在出毛病。但是“删除所有记录”不会因为摆弄控件而发生这是一个调试问题。我们能猜到的唯一一件事是,当你认为单元格为真时,它并不总是真的。你是否意识到同时迭代和删除数据行会导致错误?不,我不是,我从来没有这样做过,但我认为这可以工作。