是否可以“如果出错则不提交更改”?
Posted
技术标签:
【中文标题】是否可以“如果出错则不提交更改”?【英文标题】:Is it possible to "NOT commit changes if error"? 【发布时间】:2014-07-31 09:08:49 【问题描述】:当我将“Long Integer”字段更改为字母时,我的 DataGridView(绑定在 MS Access 数据库中)中出现 DataError,但在显示错误后仍然提交我所做的更改 , 在单元格中输入字母。
如何使单元格的值恢复到之前的有效值,即数字?
【问题讨论】:
您能提供一些您用来执行此操作的代码吗?still commits the change
是什么意思?如果数据错误的context 包含Commit
,则抛出错误,因为它可能不提交数据。
【参考方案1】:
正如我在评论中所说:如果数据错误的上下文包含Commit
,则抛出错误,因为它可能不提交数据。
现在,在您的数据错误处理程序中,调用网格CancelEdit
。
类似这样的:
Private Sub DataGridView1_DataError(sender As Object, e As DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
If ((e.Context And DataGridViewDataErrorContexts.Commit) = DataGridViewDataErrorContexts.Commit) Then
e.ThrowException = False
Me.DataGridView1.CancelEdit()
Else
e.ThrowException = True
End If
End Sub
【讨论】:
以上是关于是否可以“如果出错则不提交更改”?的主要内容,如果未能解决你的问题,请参考以下文章