2017-02-03 2 views
0

Когда я выбираю/выбираю первые 2 строки отдельно, я в порядке. Я получаю сообщение об ошибке, если после этого выбрать/щелкнуть любую строку. Сообщение об ошибке: «Индекс был за пределами допустимого диапазона. Должен быть неотрицательным и меньше, чем размер коллекции» Я добавил RowIndexCount, чтобы подсчитать, сколько строк приложение читает, и оно возвращает 84. Что возможно не так ли? VB.NETОШИБКА: убедитесь, что индекс меньше размера коллекции

Dim rowDGVDataPhys As Integer = DGVDataPhys.CurrentCell.RowIndex 
    txtRowIndex.text = rowDGVDataPhys 
    DGVDataPhys.Rows(rowDGVDataPhys).Selected = True 
    DGVData.Enabled = True 
    DGVDataPhys.Enabled = True 
    Dim CountRowIndexes As Integer = 0 
    CountRowIndexes = DGVDataPhys.RowCount 

'To capture how many total rows in the GRID.   
MsgBox(CountRowIndexes) 'I found 84 rows 
     vDeptID = DGVDataPhys.Rows(DGVDataPhys.SelectedCells(rowDGVDataPhys).RowIndex.ToString()).Cells("DeptKey").Value 
     vDeptName = DGVDataPhys.Rows(DGVDataPhys.SelectedCells(rowDGVDataPhys).RowIndex.ToString()).Cells("DeptName").Value 
+0

Какая линия бросает ошибку? – MrGadget

ответ

0

Вы индексировать строки с помощью коллекции SelectedCells, не текущие клетки Роу указательный ...

ли это вместо

vDeptID = DGVDataPhys.Rows(rowDGVDataPhys).Cells("DeptKey").Value 
    vDeptName = DGVDataPhys.Rows(rowDGVDataPhys).Cells("DeptName").Value 
+0

спасибо !! Это отлично сработало –