Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2007, 10:51
cardonas
 
Fecha de Ingreso: diciembre-2006
Mensajes: 1
Antigüedad: 17 años, 5 meses
Puntos: 0
Solo numeros en DataGridView VB.NET

Logre solucionar el problema de solo numeros en el DataGridView con la ayuda de otros foros y mi incansable busqueda.

Ejemplo

Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
Dim columna As Integer = 0
Dim valido As Boolean = False
'''' este select es porque tengo dos grid en el mismo form
Select Case True
Case griEntarticulos.ContainsFocus = True
columna = griEntarticulos.CurrentCell.ColumnIndex
Case griSalarticulos.ContainsFocus = True
columna = griSalarticulos.CurrentCell.ColumnIndex
End Select
'''' este if es porque en la columna con index 2 (0,1,2) es en la que ingreso
'''' cantidades, la 0 es alfanumerica y la 1 es readonly.
'''' la verdad me parece mucho codigo pero me soluciono el problema
If columna = 2 Then
Select Case keyData
Case Keys.NumPad0
valido = True
Case Keys.NumPad1
valido = True
Case Keys.NumPad2
valido = True
Case Keys.NumPad3
valido = True
Case Keys.NumPad4
valido = True
Case Keys.NumPad5
valido = True
Case Keys.NumPad6
valido = True
Case Keys.NumPad7
valido = True
Case Keys.NumPad8
valido = True
Case Keys.NumPad9
valido = True
Case Keys.D0
valido = True
Case Keys.D1
valido = True
Case Keys.D2
valido = True
Case Keys.D3
valido = True
Case Keys.D4
valido = True
Case Keys.D5
valido = True
Case Keys.D6
valido = True
Case Keys.D7
valido = True
Case Keys.D8
valido = True
Case Keys.D9
valido = True
Case Keys.Delete
valido = True
Case Keys.Back
valido = True
End Select
If valido = True Then
Return MyBase.ProcessDialogKey(keyData) 'devolver KeyData
Else
Return True 'Marcar como procesado Y NO DEVOLVER NADITA
End If
Else 'en caso contrario
'''' en caso de que este fuera de la columna o del grid debo dejar pasar
'''' el valor digitado para los demas objetos, porque esta funcion se aplica
'''' a todo el formulario.
Return MyBase.ProcessDialogKey(keyData)
End If
End Function

Espero les funcione. Chao