with form example ejemplos datos data agregar c# .net winforms datagridview

form - datagridview datasource c#



Eventos CellValueChanged vs CellValidating para DataGridView (1)

¿Cuál es el mejor lugar para implementar el código de lógica de validación y el código de formato condicional para un DataGridView?

En muchos libros y artículos que he leído sobre este control, parece sugerir que el evento apropiado para manejar es el de Cell Validación. Bueno, el nombre más que implica esto también.

Sin embargo, este evento se dispara demasiado a menudo para mis gustos y no estoy seguro de que sea necesario. Por ejemplo, este evento activa cada vez que los usuarios cambian a otra fila.

Por otro lado, el evento CellValueChanged parece activarse solo cuando cambia el valor de la celda, lo que significa que el código de validación se ejecuta solo cuando el valor cambia y no cada vez que un usuario cambia de celda.

Ahora, dado que muchos libros usan el evento CellValidating, me pregunto si no hay ningún gotcha (en la pantalla, por ejemplo) con el uso de CellValueChanged?

Entiendo que el impacto en el rendimiento debería ser irrelevante al usar reglas simples de validación y resaltado condicional, pero preferiría no ejecutar código inútil cada vez que el usuario se muda a otra celda si puede evitarse.

Gracias,


Estoy usando CellValueChanged actualmente en una grilla con validación personalizada y no he tenido problemas con la pantalla ni con nada más.

Usé este evento porque quería disparar un cierto orden de eventos, pero solo cuando el usuario cambia el valor de una celda.

No he notado mucho en el camino de un golpe de rendimiento (probado con 100 - 5000 filas).

Creo que al final depende de cuáles sean sus necesidades de validación. En mi caso, CellValueChanged ha hecho lo que yo quería / necesitaba.

EDITAR

Lo más importante del evento CellValidating es que puede evitar que el usuario salga de una celda, si el valor ingresado no pasa su validación. No quería hacer esto.