Hola a todos como están necesito ingresar números con 2 decimales en mi datagridview para luego grabar bueno estuve buscando en la web y hay un código que te permite hacer algo así por ejemplo en este código que cambie tu puedes ingresar números del 1,2,3,4,5,6,7,8,9,0 y además un solo “.” O coma”,” si es que lo cambias pero el problema de este código es que después del punto ingresas varios decimales por ejemplo 12.33389 y quiero solo ingresar 2 decimales por favor me pueden ayudar con este problemita que tengo y si hay otra forma mejor le agradecería mucho.
Gracias.
Código:
Private Sub dgvUit_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgvUit.EditingControlShowing
If e.CellStyle.Format = "N2" Then
AddHandler e.Control.KeyPress, AddressOf validar_Keypress
End If
Private Sub validar_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
'Obtener indice de la columna
Dim columna As Integer = dgvUit.CurrentCell.ColumnIndex
' Verificar columna actual
If columna = 2 Then
Dim caracter As Char = e.KeyChar
' referencia a la celda
Dim txt As TextBox = CType(sender, TextBox)
' Comprobar si es un número con isNumber, si es el backspace, si el caracter
' es el separador decimal, y que no contiene ya el separador
If (Char.IsNumber(caracter)) Or (caracter = ChrW(Keys.Back)) Or (caracter = ".") And (txt.Text.Contains(".") = False) Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub