Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/04/2010, 09:48
Phillip
 
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Eventos del DataGridView

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 ObjectByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgsHandles 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
.KeyPressAddressOf validar_Keypress
            AddHandler validar
.TextChangedAddressOf validar_TextChanged
            AddHandler validar
.ValidatedAddressOf validar_Validated
            AddHandler validar
.LostFocusAddressOf 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.