1

我当前的代码将显示一个消息框,告诉用户如果他们在字段中输入任何非整数,则只接受数字输入。但是,我似乎不知道如何将默认值提供回 datagridviewcell。

Private Sub DataGridViewCOTS_DataError(ByVal sender As Object, ByVal e As DataGridViewDataErrorEventArgs) Handles DataGridViewCOTS.DataError

    If StrComp(e.Exception.Message, "Input string was not in a correct format.") = 0 Then

        'If e.ColumnIndex = 2 Then
        MessageBox.Show("Please Enter a numeric Value")


        'DataGridViewCOTS.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 3

    End If





End Sub
4

1 回答 1

1

从这个线程http://social.msdn.microsoft.com/Forums/windows/en-US/ca2b3a41-e598-4a84-ac75-57064febd5e5/change-cell-value-in-datagridviewdataerror

当外部数据解析或验证操作引发异常,或者尝试将数据提交到数据源失败时,会发生 DataError 事件。

基于它,您无法在此处修复该值,因为该值不会被提交。将正确/默认值更改为 DataGridView 单元后,您必须提交它。因此,设置 e.Cancel = false 就可以了

因此,只需e.Cancel = false在更改值后进行设置,它应该可以工作。

希望这可以帮助

于 2013-06-20T22:16:55.473 回答