Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2010, 10:30
Avatar de PosProdukcion
PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años
Puntos: 9
Pintar filas de datagridview

Hola, estoy intentando pintar el color de fondo de cada fila de un datagridview en función de un valor dentro de cada fila (ESTADO).

El problema es que si utilizo el evento RowPostPaint, el propio cambio de color vuelve a lanzar este evento provocando un resultado un tanto aleatorio (lo lógico sería pensar que sería una recursión infinita, pero no, es aleatorio).

El datagridview es rellenado de datos llamando a un método cargaDatos() que a su vez es llamado en Form.Load. He probado a crear un método pintarFilas() y llamarlo después de llamar a cargaDatos(), pero me encuentro con el problema de que el método es llamado antes de que el grid sea visible y posteriormente, el grid es pintado con las propiedades que se definieron originalmente, es decir, deshace los cambios hechos por pintarFilas().

También he probado con datagridview.RowsAdded con mal resultado.

¿Alguien sabe como resolver esto? ¿Qué evento del grid o del form se podría utilizar para pintar filas en función de un valor dentro de la propia fila?

Gracias

PD: Por cierto, por si aporta algo trabajo con VB.NET