我正在使用VB.Net将用户功能编程为DataGridView
。目前,我正在尝试允许用户通过编辑单元格中的内容来更新DataGridView
中显示的数据。
现在,我有一种方法可以检测用户何时开始编辑单元格:
Private Sub dataTable_CellBeginEdit(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs) Handles dataTable.CellBeginEdit
oldCellVal = dataTable.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
End Sub
该方法的重点是将旧数据存储在内存中的单元格中,以便在用户决定不编辑单元格时可以稍后还原。
现在,我不确定如何在用户完成编辑时设置方法。我知道有一个CellEndEdit
事件我可以为其创建处理程序,但是用这种方法,我将如何检测它们如何离开单元格?
我想进行设置,以便如果我的用户按 Enter 键,则仅提交他们的编辑。如果他们使用箭头键或ESC键退出单元格,则会收到“您是否要停止编辑?”的提示。提示。这听起来好像我需要一个按键事件,但是如果我进行了此类事件,如何正确检测被修改的Cell?我需要知道更新后的单元格的行索引和列索引,才能正确提交更改。
那么我应该怎么做呢? KeyPress
还是CellEndEdit
?还是我没有考虑过其他事情?