Hola.
¿Que tipo de celda utilizas en el DataGrid? ¿Es una celda TextBox?
Si es una celda tipo TextBox, para hacer esta validacion puedes crear eventos para esa columna. Esa celda es un tipo TextBox, entonces podras crear los eventos que tiene implementados ese.
Mira este ejemplo aqui a una columna TextBox se le crear tres eventos, esto se hace en el evento EditingControlShowing de tu DataGrid:
Código PHP:
Private Sub MiGrid_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MiGrid.EditingControlShowing
'Si el control es tipo TextBox
If TypeOf e.Control Is System.Windows.Forms.TextBox Then
Dim validar As TextBox = CType(e.Control, TextBox)
'Agregamos varios eventos para ese TextBox
AddHandler validar.KeyPress, AddressOf validar_Keypress
AddHandler validar.TextChanged, AddressOf validar_TextChanged
AddHandler validar.Validated, AddressOf validar_Validated
AddHandler validar.LostFocus, AddressOf validar_LostFocus
End If
End Sub
Hemos creados los eventos ahora tenemos que implementarlos, solo implementare el primero del evento Keypress o sea a presionar una tecla:
Código PHP:
Private Sub validar_Keypress( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs)
' obtener indice de la columna
Dim columna As Integer = MiGrid.CurrentCell.ColumnIndex
Dim txt As TextBox = CType(sender, TextBox)
' comprobar si la celda en edición corresponde a la columna textbox
'Pones el indice de tu columna para este ejemplo es la cero
If columna = 0 Then
'Aqui harias tu validacion
End If
End If
End Sub
Asi implementas cualquier evento del Control TextBox.
Saludos.