Te contesto de memoria mientras recupero el código de un backup.

El evento seguro era uno de los de teclado (keypress, keydown). Dentro de la 
rutina del evento verifico que la columna sea la última (por nombre de columna) 
y si es asi paso a chequear los valores de CurrentRow. Entre la row en uso y 
los nombres de las columnas me manejo para cambiar el color de fondo.

Saludos

Jorge.
PD: Mas tarde posteo el código.




________________________________
De: Analia <[email protected]>
Para: [email protected]
Enviado: lunes 13 de julio de 2009, 15:21:02
Asunto: [puntonet] Validar datos en datagriview


Jorge, estuve probando pero no pude solucionar el tema. Una pregunta , en que 
evento validas los campos y si da error como cambias de color la celda. Usando 
currentcell?
Saludos. Analia

________________________________

De:[email protected] [mailto: [email protected] ] En nombre de Jorge 
Monsalvo
Enviado el: Lunes, 13 de Julio de 2009 10:46 a.m.
Para: [email protected]
Asunto: [puntonet] Validar datos en datagriview
 
Analía,
 
En un caso similar al tuyo (una aplicación para registrar pedidos) me resultó 
más fácil crear un nuevo datagridrow y agregarlo al final de la validación de 
la row actual. O sea, como mi aplicación esta pensada en un data entry que usa 
mas el teclado que el mouse, al detectar la tecla "enter" en el último campo 
del renglón, valido los campos, y si está todo ok creo la nueva fila, sino, 
muestro donde está el error cambiando de color la celda.
 
Mas que una solución es una idea, espero que te sirva.
 
Saludos
 
Jorge.
PD: Si puedo recuperar el código del forms te lo mando.
 

________________________________

De:Analia <[email protected]>
Para: [email protected]
Enviado: sábado 11 de julio de 2009, 13:30:17
Asunto: [puntonet] Validar datos en datagriview
Hola a todos, estoy un poco enrrollada desarrollando una factura y para cargar 
los items de la misma utilizo un datagridview. Todo me quedo muy lindo pero 
tengo el problema que no se como se puede validar que el usuario no ingrese un 
nuevo  renglon sin que haya completado todos los campos del renglon anterior. 
Detectarlo lo detecto con este codigo:
 
PrivateSub DataGridView1_CellValidating(ByVal sender As Object, ByVal e As 
System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles 
DataGridView1.CellValidating
  
Ifsender.currentcell.rowindex > 0 Then
    Dim col
       For Each col In sender.columns
        If String.IsNullOrEmpty(sender.rows(sender.currentcell.rowindex - 
1).cells(col.index).value.ToString) Then
              Invalido = True
        Exit Sub
        End If
        Next
      End If
 
Pero despues no se como cancelarlo. Trate de borrar el nuevo renglon con Remove 
, pero me dice que no esta confirmada. Probe con e.cancel=true para cancelar la 
edicion pero no funciona, el renglon sigue estando. 
 
La idea es que si un campo del renglon anterior esta vacio , me borre el nuevo 
renglon y me pare en el campo vacio. Alguen sabe como puedo lograrlo?
 
Muchisimas gracias.   Analia
 

________________________________


¡Viví la mejor experiencia en la web!
Descargá gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=ar


      
____________________________________________________________________________________
¡Viví la mejor experiencia en la web!
Descargá gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=ar

Responder a