【问题标题】: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,则抛出错误,因为它可能提交数据。

标签: vb.net visual-studio-2010 datagridview ms-access-2007


【解决方案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

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 2015-05-04
    • 2012-11-22
    • 1970-01-01
    • 2014-02-02
    • 2017-02-07
    • 2013-12-21
    • 2011-02-28
    相关资源
    最近更新 更多