Как вернуть значение по умолчанию обратно в DataGridViewCell после сообщения об ошибке

Мой текущий код покажет окно сообщения, которое говорит пользователю, что только числовой ввод будет принят, если они вводят любое нецелое число в поле. Однако я не могу выяснить, как я мог бы предоставить значение по умолчанию обратно в ячейку datagridview.

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

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 после того как вы измените значение, и оно должно работать.

Надеюсь это поможет

Другие вопросы по тегам