FoxPro/Visual FoxPro - Colores en las celdas de un grid

   
Vista:

Colores en las celdas de un grid

Publicado por Marcelo (171 intervenciones) el 11/12/2007 12:19:57
hola gente, quisiera saber si se puede colorear el fondo de una celda en un grid de acuerdo al dato que tenga en ella
por ejemplo si un numero es negativo ponerle fondo amarillo y si es positivo dejarlo blanco
si utilizo en un grid:
this.setall("DynamicbackColor","iif(faltante<0,RGB(255,255,159),RGB(255,255,255))","Column")
esta funcion me pone en amarillo toda la linea de un grid y yo quiero solamente la celda.
gracias por su interes.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Colores en las celdas de un grid

Publicado por ANDY (6 intervenciones) el 11/12/2007 15:03:06
Obtenido de MUNDOVISUALFOXPRO/TRUCO1/06/09/2007 14:24 Expuesto por FredyRedskin

"Procedimiento para poner las celdas de un grid en colores diferentes.
1. En el procedure INIT de la forma que contiene el grid poner el siguiente código.

thisform.grid1.column2.DynamicBackColor="que_color(grafica.q1)"
thisform.grid1.column3.DynamicBackColor="que_color(grafica.q2)"
thisform.grid1.column4.DynamicBackColor="que_color(grafica.q3)"

Yo inicie el la columna 2 porque asi me convenia, pero pueden iniciar desde la primer columna grafica es un cursor que contiene 25 campos llamadas anio, y de q1 a q25.
Obviamente el recordsource del grid debe ser mi cursor Grafica o el origen de dato que ustedes deseen.
2. En un programa PRG que yo lo llame UTIL.PRG hice la siguiente función
function que_color(letra)

DO case
CASE ALLTRIM(letra)="A"
color=rgb(0,191,0)
CASE ALLTRIM(letra)="D"
color=rgb(255,0,0)
CASE EMPTY(letra)
color=rgb(255,255,255)
ENDcase

RETURN color

Como se pueden dar cuenta en esta función regresa el color dependiendo del valor pasado como parametro, de esta forma pueden agregar todos los colores que quieran, en mi caso solo necesito 3, pero puden ser mucho más.
3. El último paso es poner mediante la setencia SET PROCEDURE el prg donde vamos a encontrar la funcion que llame que_color() "

SET PROCEDURE TO UTIL

y eso fue todo, asi de fácil, espero que esto les sea de gran utilidad a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colores en las celdas de un grid

Publicado por marcelo (171 intervenciones) el 11/12/2007 18:08:08
Gracias por tu interes andy, lo pruebo y te comento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colores en las celdas de un grid

Publicado por Marcelo (171 intervenciones) el 11/12/2007 18:21:24
era lo que yo queria muchas gracias lo probe con iif
this.column8.DynamicBackColor="iif(faltante<0,RGB(255,255,159),RGB(255,255,255))"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar