在vb.net的datagridview中获取已删除行的rowindex

时间:2013-12-10 04:55:09

标签: vb.net winforms datagridview object-reference

以下是问题。

我想获取已删除的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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

<{1>} .RowsRemoved下使用e.RowIndex获取已删除行的索引。