用户完成编辑后,用于捕获新行的正确事件是什么?

时间:2019-07-02 08:46:06

标签: vb.net bindingsource

当用户在数据表中添加新行时,我需要在记录中添加几位数据,例如创建日期和createdby。 我正在寻找绑定源上的正确事件以捕获此事件,因此我可以添加信息,然后在用户移至下一行之前保存记录。 C#似乎在datagrid上有一个RowEditEnding事件,但是a)我没有使用C#,并且b)从搜索中可以看出,它更适合在数据源上工作,在这种情况下,这是绑定的datagrid,所以我想我应该是查看bindingsource对象,但是没有明显的事件可供选择。

我认为需要一些类似条件的更改,如果脏了……

请有人在这里向我指出正确的方向。

谢谢

约翰

1 个答案:

答案 0 :(得分:0)

这似乎可行

    Private Sub TblOppQuoteDetailBindingSource_CurrentChanged(sender As Object, e As EventArgs) Handles TblOppQuoteDetailBindingSource.CurrentChanged

    If sender.current IsNot Nothing Then
        If sender.current.IsNew Then
            Dim nr As DataRowView = sender.current
            nr.Item("OppQuoteID") = 2
            nr.Item("Created") = Now
            nr.Item("CreatedBy") = G_UserName

        ElseIf sender.current.isedit Then
            Dim nr As DataRowView = sender.current
            nr.Item("OppQuoteID") = 2
            nr.Item("Updated") = Now
            nr.Item("UpdatedBy") = G_UserName

        End If
    End If
End Sub

这是正确的方法吗?