1

ユーザーが数値以外の入力を datagridviewcolumn に入力できないようにする方法を見つけたいと思っています。また、ユーザーが負の数を入力したり、セルを空白のままにしたりすることを既に制限しています。ユーザーが文字や数字以外の入力を制限する方法を誰かが見つけられたら、私は大歓迎です!

If (e.ColumnIndex = 8) Then 'This specifies the column number
        Dim cellData = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value
        If cellData Is Nothing OrElse IsDBNull(cellData) OrElse cellData.ToString = String.Empty Then
            MessageBox.Show("Cannot Be Empty")
            DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0
        ElseIf cellData < 0 Then
            MessageBox.Show("Negatives Values Not Allowed")
            DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0

            Exit Sub

        End If
    End If
4

2 に答える 2

2

いつでもご利用いただけますInteger.TryParse()

ここで詳細を読むことができます: http://msdn.microsoft.com/en-us/library/f02979c7.aspx

于 2013-07-03T18:46:02.800 に答える
1

これを試してみてください。DataGridView.KeyPress イベントを使用して、入力された内容を監視すると、その文字が何であるかを で確認できますChar.IsDigit(e.KeyChar)

Private Sub DataGridView1_KeyPress(sender As Object, e As     System.Windows.Forms.KeyPressEventArgs) Handles DataGridView1.KeyPress
    If (Char.IsDigit(e.KeyChar)) Then
        'this is a number
    Else
        'not a number
    End If
End Sub
于 2013-07-03T18:42:30.337 に答える