Foros del Web » Programación para mayores de 30 ;) » .NET »

Validar las celdas de un DataGrid

Estas en el tema de Validar las celdas de un DataGrid en el foro de .NET en Foros del Web. Cómo se pueden validar las celdas de un DataGrid al tiempo que ingresas datos y/o modificas ? Existe otro control apropiado para esto ? Gracias......
  #1 (permalink)  
Antiguo 22/06/2004, 07:47
 
Fecha de Ingreso: junio-2004
Ubicación: Cochabamba
Mensajes: 14
Antigüedad: 19 años, 10 meses
Puntos: 0
Validar las celdas de un DataGrid

Cómo se pueden validar las celdas de un DataGrid al tiempo que ingresas datos y/o modificas ?
Existe otro control apropiado para esto ?

Gracias...
  #2 (permalink)  
Antiguo 22/06/2004, 08:33
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola y bienvenido. .. la queires para una web app or win form...?

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 22/06/2004, 11:00
 
Fecha de Ingreso: junio-2004
Ubicación: Cochabamba
Mensajes: 14
Antigüedad: 19 años, 10 meses
Puntos: 0
Validar de una celda DataGrid-Win Form.

Requiero validad las celdas que se van ingresando o modificando dentro de un DATAGRID (esto en VB.NET)

Hay forma de hacerlo con algo similar al MSflexGrid del VB.6 ?

Gracias
  #4 (permalink)  
Antiguo 22/06/2004, 11:36
 
Fecha de Ingreso: junio-2004
Ubicación: Rosario - Argentina
Mensajes: 8
Antigüedad: 19 años, 10 meses
Puntos: 0
Me sumo a la consulta , me interesa la respuesta para aplicaciones Web
Ej. Validar el ingreso de un dato numérico menor a 100.
Muchas gracias
  #5 (permalink)  
Antiguo 20/10/2008, 19:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 173
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Validar las celdas de un DataGrid

Cita:
Iniciado por kyha Ver Mensaje
Hola a todos
Encontre la solucion os dejo el codigo por si alguien le interesa.

Private Sub Validar(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
'Validar Fila seleccionada
Dim drwFila As DataGridViewCell = grid1.CurrentCell()
If drwFila.ColumnIndex > 3 Then
'Si son digitos o si es la tecla borrar
If Char.IsDigit(e.KeyChar) Or (Asc(e.KeyChar) = 8) Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub
' cuando una celda del DataGridView pasa del modo normal al de edicion, precisamente usamos este evento porqueç
' a traves de el podemos obtener la tecla que se ha pulsado, en este caso
Private Sub grid1_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlSho wingEventArgs) Handles grid1.EditingControlShowing
AddHandler e.Control.KeyPress, AddressOf Validar
End Sub

yo lo modifique asi:


Public Class Form1

Private Sub Validar(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
'Validar Fila seleccionada
Dim drwFila As DataGridViewCell = DataGridView1.CurrentCell()
Select Case drwFila.ColumnIndex
Case 0
e.KeyChar = 'funcion1()
Case 1
' este no lo kiero validar
Case 2
e.KeyChar = 'funcion2()
Case 3
e.KeyChar = 'funcion3()
End Select
End Sub

' cuando una celda del DataGridView pasa del modo normal al de edicion, precisamente usamos este evento porqueç
' a traves de el podemos obtener la tecla que se ha pulsado, en este caso
Private Sub DataGridView1_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlSho wingEventArgs) Handles DataGridView1.EditingControlShowing
AddHandler e.Control.KeyPress, AddressOf Validar
End Sub
End Class


funcion 1,2 y 3 son unas funciones en las cuales valido todo lo que quiero, si e snumero letra o algo mas complejo, si el caracter que presiono el usr es correcto regreso este mismo (o lo cambio por otro si asi lo requiero - por ejemplo que kiera cambiar las comas por puntos o algo asi). si es un caracter que no kiero que sea aceptado simplemente regreso nothing.

espero les sea de utilidad. saludos

Última edición por ultimateZERO; 20/10/2008 a las 19:43
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:13.