防止将非数字值输入到datagridview列中

时间:2014-07-31 16:54:18

标签: vb.net datagridview

我的表单上有一个DataGridView,有3列。我需要第二列才允许输入数字。我有用于文本框的代码:

Private Sub NumbersOnly(ByVal sender As System.Object, ByVal e As system.Windows.Forms.KeyPressEventArgs)
    '97 - 122 = Ascii codes for simple letters
    '65 - 90  = Ascii codes for capital letters
    '48 - 57  = Ascii codes for numbers

    If Asc(e.KeyChar) <> 8 Then
        If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
            e.Handled = True
        End If
    End If
End Sub

我试图找出我可以用来在DataGridView中执行相同过程的事件。我尝试过按键事件,但它不起作用。有关如何防止非数字被输入的任何建议。谢谢大家!

1 个答案:

答案 0 :(得分:1)

不是手动验证它以包含数字,而是将列的数据类型设置为数字。然后它将自动验证。不要试图通过按键,keydown来处理它,因为它也会复制/粘贴(CTRL + C / CTRL + V),鼠标右键单击以及其他可能的方法来放置坏数据。