Filas de un Grid con más de dos colores
Un procedimiento para colorear las filas de un grid según el contenido de un campo del registro es el siguiente:
thisform.Grilla.SetAll("DynamicBackColor","IIF(CONDICION), Color1, Color2)")
pero, ¿qué sucede si queremos colorear con más de dos colores diferentes? Por ejemplo, podrÃa ser que deseemos colocar el fondo rojo a las facturas impagas, de verda a las pagadas y de amarillo a las parcialmente pagadas.
Esto puede lograrse de la siguiente manera:
Creamos un método en el formulario, llamado por ejemplo "Colores", el cual recibe un parámetro (al que se le enviará el contenido del campo que contendrá la condición múltiple) y elaboramos un Do Case:
Método "Colores()"
PARAMETERS Valor
DO CASE
CASE Valor = (impaga)
RETURN CodColorRojo
CASE Valor = (parcialmente_paga)
RETURN CodColorAmarillo
CASE Valor = (pagada)
RETURN CodColorVerde
OTHERWISE
RETURN CodOtroColor
ENDCASE
Luego, una vez que asignamos el RecordSource a la grilla podemos hacer lo siguiente
thisform.Grilla.SetAll("DynamicBackColor","thisform.colores(Cursor.CampoCondicion)")
y listo.
Ojalá que a alguien le sirva.
Saludos cordiales desde Argentina
Gabriel Dameñov
www.gdmsargentina.com.ar
thisform.Grilla.SetAll("DynamicBackColor","IIF(CONDICION), Color1, Color2)")
pero, ¿qué sucede si queremos colorear con más de dos colores diferentes? Por ejemplo, podrÃa ser que deseemos colocar el fondo rojo a las facturas impagas, de verda a las pagadas y de amarillo a las parcialmente pagadas.
Esto puede lograrse de la siguiente manera:
Creamos un método en el formulario, llamado por ejemplo "Colores", el cual recibe un parámetro (al que se le enviará el contenido del campo que contendrá la condición múltiple) y elaboramos un Do Case:
Método "Colores()"
PARAMETERS Valor
DO CASE
CASE Valor = (impaga)
RETURN CodColorRojo
CASE Valor = (parcialmente_paga)
RETURN CodColorAmarillo
CASE Valor = (pagada)
RETURN CodColorVerde
OTHERWISE
RETURN CodOtroColor
ENDCASE
Luego, una vez que asignamos el RecordSource a la grilla podemos hacer lo siguiente
thisform.Grilla.SetAll("DynamicBackColor","thisform.colores(Cursor.CampoCondicion)")
y listo.
Ojalá que a alguien le sirva.
Saludos cordiales desde Argentina
Gabriel Dameñov
www.gdmsargentina.com.ar
