Jayanta Modak Ответов: 1

Показывает ошибку :индекс был вне диапазона. В datagridview, пожалуйста, помогите....


привет
сэр
получение ошибки при запуске цикла и переходе к последнему значению количества строк
пожалуйста помочь

и я не могу использовать 2-ю петлю на месте клетки(?????) номер как я могу это использовать

Индекс был вне досягаемости. Должно быть неотрицательным и меньше размера коллекции.
Имя параметра: индекс


Что я уже пробовал:

Dim aa As Integer
       For Z1 = 0 To DataGridView1.RowCount

           If Me.DataGridView1.Rows(Z1).Cells(2).Value = True Then
               aa = 1
           Else
               aa = 0
           End If
           Me.DataGridView1.Rows(Z1).Cells(7).Value = aa
           If Me.DataGridView1.Rows(Z1).Cells(3).Value = True Then
               aa = aa & 1
           Else
               aa = aa & 0
           End If
           Me.DataGridView1.Rows(Z1).Cells(7).Value = aa
           If Me.DataGridView1.Rows(Z1).Cells(4).Value = True Then
               aa = aa & 1
           Else
               aa = aa & 0
           End If
           Me.DataGridView1.Rows(Z1).Cells(7).Value = aa
           If Me.DataGridView1.Rows(Z1).Cells(5).Value = True Then
               aa = aa & 1
           Else
               aa = aa & 0
           End If
           Me.DataGridView1.Rows(Z1).Cells(7).Value = aa
           If Me.DataGridView1.Rows(Z1).Cells(6).Value = True Then
               aa = aa & 1
           Else
               aa = aa & 0
           End If
           Me.DataGridView1.Rows(Z1).Cells(7).Value = aa
       Next

1 Ответов

Рейтинг:
5

OriginalGriff

Глаг For цикл выполняется от начального до конечного значения включающий - так это ... :

For index As Integer = 0 To 3
    Console.Write(index.ToString & " ")
Next
Будет печатать
0 1 2 3

Итак, ваш код
For Z1 = 0 To DataGridView1.RowCount
будет работать от первого индекса до последнего включительно, и ваше приложение выдаст исключение. Попробуй:
For Z1 = 0 To DataGridView1.RowCount - 1