For Each row As DataGridViewRow In DGV.Rows
DGV.Rows.RemoveAt(CInt(row.Index.ToString))
Next
Приведенный выше код удалит все остальные строки
For i As Integer = 0 To 7 Step 1
For Each row As DataGridViewRow In DGV.Rows
DGV.Rows.RemoveAt(CInt(row.Index.ToString))
Next
Next
Этот код избавляется от всего (DGV имеет, во время вызова подпрограммы, 250 строк)
DGV - это объект DataGridView, который отображается.
Чего я не понимаю, так это того, что первый не сработает.
Чтобы уточнить, я использовал CInt(row.Index.ToString)
вместо row.Index
, потому что row.Index
, похоже, не работает сам по себе, но CInt(row.Index.ToString)
работает.
Я также пробовал такие вещи, как:
For i As Integer = 0 To DGV.Rows.Count Step 1
DGV.Rows.RemoveAt(i)
Next
Это также не сработало.
Я даже пытался использовать фактическое число 250 вместо DGV.Rows.Count
в последнем примере, но с теми же результатами, оно ВСЕГДА пропускает все остальные. Я подумал, что, повторяя цикл еще несколько раз, я мог очистить все это, поэтому я использовал метод проб и ошибок, пока не получился 7 итераций в качестве магического числа.
Может кто-нибудь объяснить мне эту странность?