Problema con CellValidating

Iniciado por BlaineMonkey, 17 Febrero 2010, 18:35 PM

0 Miembros y 1 Visitante están viendo este tema.

BlaineMonkey

Tengo un datagridview y he añadido el evento Cellvalidating. El caso es que cada vez que cambio en una columna de tipo textbox un valor y pulso enter captura el evento, pero al obtener el valor de la celda viene el valor antiguo y no el nuevo.

¿Cómo puedo hacer para que capture el evento validating capture los nuevos valores?



Skeletron

Mira bien los eventos que estas utilizando...
En realidad no se bien de que hablas, pero hablas de un evento que termina en "ING"  (Validating)...
Generalmente, todo lo que termina en ING en ingles, significa que ALGO SE ESTA HACIENDO..
O sea.. ese evento se producira cuando se esta VALIDANDO... Y claro.. aun no ha cambiado el valor... porque ese valor cambiará cuando se termine de VALIDAR, por ende, tendria que ser un evento del tipo VALIDATED.. ya que lo que termina en ED, generalmente significa que ya se hizo esa operacion...

Aunque, si no existe el evento CellValidated, entonces, puede que dentro de los datos que te llegan en el evento, puede que esten los 2 datos.. el valor viejo y el nuevo... Seguramente tendrias que buscar mas... mira que otro valor sea el NUEVO.

Tu estas usando ésto:
http://msdn.microsoft.com/es-es/library/system.windows.forms.datagridview.cellvalidating.aspx
y tendiras que usar esto:
http://msdn.microsoft.com/es-es/library/system.windows.forms.datagridview.cellvalidated.aspx

BlaineMonkey

Pensaba que cellvalidating sería para hacer validaciones tras cambiar un valor.
El problema es que con cellvalidated no puedo hacer cancel, ya sabes, no salir de la edición de una celda hasta que la validación sea correcta.

Con cellvalidating no puedo hacerlo porque entra antes de cambiar el valor y con cellvalidated tampoco (o al menos no se como hacerlo).

¿Cómo puedo hacer lo que quiero?

Skeletron

En ese caso, tienes razon... Necesitas el Validating

Yo en tu posicion tio, me analizaría mejor, UNO POR UNO los valores que devuelve el objeto del evento.
Has una depuracion y mira en que "propiedad" del objeto del evento, esta lo que buscas.

En caso que no esté.. no sabria que decirte..