У меня есть представление таблицы данных, где я должен ограничить запись числовыми входами (целые и десятичные разряды) для одного из столбцов.Пользователи вводят значения непосредственно в представление сетки данных.Всего есть 2 столбца, один из которых только для чтения.У меня есть следующий код прямо сейчас:
Private Sub dgv1_CellEndEdit(By Val sender As System.Object, ByVal e As System.Windows.Form.DataGridViewCellEventArgs) Handles dgv1.CellEndEdit
If (e.ColumnIndex =1) Then 'This is the column where I want to restrict input
If dgv1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value <> Nothing Then
Dim value As String = dgv1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString()
If Not Information.IsNumeric(value) Then
MessageBox.Show("Invalid entry.")
dgv1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = String.Empty
Exit Sub
End If
End If
End If
End Sub
Проблема, с которой я сталкиваюсь, заключается в том, что если я введу что-то вроде 3,3 или 4,2 (где, между или после чисел)он не считает это неверной записью и ошибки нет.Однако любой другой специальный символ, + или - или @, в том же формате распознается и показывает сообщение об ошибке.Почему этот код не признает его недействительным и как я могу включить эту проверку?Спасибо.