получение rowindex удаленной строки в datagridview в vb.net

следующая проблема.

Я хочу получить индекс строки и индекс столбца удаленной строки datagridview для некоторых вычислений и обновлений. Но ошибка, которую я продолжаю получать, - это ссылка на объект, не установленная на экземпляр объекта. Я написал код в событии удаления строк данных gridview. Вот код.

Try


    delflag = True
    Dim quant As Integer
    If dgsalesitem.CurrentRow.Cells(0).Value = 0 Then
        quant = dgsalesitem.CurrentRow.Cells(1).Value
    Else
        quant = dgsalesitem.CurrentRow.Cells(0).Value
    End If
    UpdateStock(dgsalesitem.CurrentRow.Cells(2).Value.ToString, dgsalesitem.CurrentRow.Cells(9).Value.ToString, dgsalesitem.CurrentRow.Cells(10).Value.ToString, quant, False)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

person vimal vasudevan    schedule 10.12.2013    source источник


Ответы (2)


Вы можете поймать UserDeletingRow событие, когда пользователь собирается удалить строку:

Private Sub dgsalesitem_UserDeletingRow(sender As Object, e As System.Windows.Forms.DataGridViewRowCancelEventArgs) Handles dgsalesitem.UserDeletingRow    
 Try
   delflag = True
   Dim quant As Integer
   If e.Row.Cells(0).Value = 0 Then
      quant = e.Row.Cells(1).Value
   Else
      quant = e.Row.Cells(0).Value
   End If
   UpdateStock(e.Row.Cells(2).Value.ToString, e.Row.Cells(9).Value.ToString, e.Row.Cells(10).Value.ToString, quant, False)
 Catch ex As Exception
    MsgBox(ex.Message)
 End Try
End Sub

И если вы хотите удалить Row Index строки, вы можете просто использовать:

 e.Row.Index
person Edper    schedule 10.12.2013
comment
я хочу индекс удаленных строк. ну, я запретил множественный выбор, поэтому можно удалить только 1 строку. даже если я использую это условие для проверки количества, ошибка будет идти, но мне нужен индекс удаленной строки для дальнейших расчетов - person vimal vasudevan; 10.12.2013
comment
Рад быть полезным @vimalvasudevan. Удачного кодирования и да благословит БОГ. - person Edper; 10.12.2013

под .RowsRemoved используйте e.RowIndex, чтобы удалить индекс строки.

person OSKM    schedule 10.12.2013