1

所以正如问题所说,是否可以从 a 删除行到 b 我已经尝试过一些类似这样的事情

        Dim dgv As DataGridViewRowCollection = DataGridView1.Rows

    For Each rw As DataGridViewRow In dgv
        Console.WriteLine(rw.Index)
        If (rw.Index > iNbrRow) Then
            If (Not rw.IsNewRow) Then
                Console.WriteLine("Delete : " & rw.Index)
                'dgv.RemoveAt(rw.Index)
            End If
        End If
    Next

但问题是每次删除一行时,索引都会更改,所以它不会删除所有这些

PS : iNbrRow = 行数 - 2 在表单加载时初始化

谢谢cx希望你们能提供帮助:S

4

1 回答 1

2

如果您从 gridview 的末尾开始并向后退,则不会发生这种情况:

For i As Integer = gView1.Rows.Count-1 To 0 Step -1
  If i > iNbrRow then
    ' delete the row
  end if
Next i
于 2013-09-29T03:15:25.893 回答