0

我是 VB 的新手。现在,我在 VB 上使用 DataGridViewCellEventArgs。我应该在编辑后更改我的值;但是,该值没有改变。如果我添加第二行,那么我可以更改值。

Private Sub dgv_CellEndEdit(ByVal sender As Object, _
                            ByVal e As DataGridViewCellEventArgs) _
                            Handles dgv.CellEndEdit, dg.CellLeave
  Dim row As Integer = e.RowIndex
  Dim column As Integer = e.ColumnIndex

  If row > -1 Then
            sum = Val(Me.editSUM.Text)
            If Me.dgv.Item(4, row) Is DBNull.Value Then
                Me.dgv.Item(4, row).Value = 0
            End If

            If Me.dgv.Item(5, row) Is DBNull.Value Then
                Me.dgv.Item(5, row).Value = 0
            End If

            If Me.dgv.Item(4, row) Is DBNull.Value OrElse Me.dgv.Item(5, row) Is DBNull.Value Then
                Me.dgv.Item(6, row).Value = 0
            Else

                Me.dgv.Item(6, row).Value = CInt(Me.dgv.Item(4, row).Value) * CInt(Me.dgv.Item(5, row).Value)
            End If

            If IsDBNull(Me.dgv.Item(6, row)) = False Then
                sum += Me.dgv.Item(6, row).Value
            End If
        Else
            For i = 0 To Me.dgv.RowCount - 2
                If Me.dgv.Item(4, i) Is DBNull.Value Then
                    Me.dgv.Item(4, i).Value = 0
                End If

                If Me.dgv.Item(5, i) Is DBNull.Value Then
                    Me.dgv.Item(5, i).Value = 0
                End If

                If Me.dgv.Item(4, i) Is DBNull.Value OrElse Me.dgv.Item(5, i) Is DBNull.Value Then
                    Me.dgv.Item(6, i).Value = 0
                Else

                    Me.dgv.Item(6, i).Value = CInt(Me.dgv.Item(4, i).Value) * CInt(Me.dgv.Item(5, i).Value)
                End If

                If IsDBNull(Me.dgv.Item(6, i)) = False Then
                    sum += Me.dgv.Item(6, i).Value
                End If
            Next
        End If
End Sub

问题是什么?

4

0 回答 0