RE:COLORES EN LA GRID SEGUN VALOR... ...
Tengo este código que espero te sirva, pone la linea del grid en gris si el valor de la variable esta vacio y en color normal si no lo esta.
Cambia los valores del color para ajustarlos a los que deseas.
1)Instalar este código en el metodo Refresh de la forma donde esta el grid.
2)El nombre del grid lo deje predeterminado como Grid1.
3)El Nombre_de_la_Variable, sera el campo del grid al cual quieres hacer referencia para que cambie o no de color.
*: Inicio
oGrd = THISFORM.Grid1
* Clear the current grid dynamic fore and back colors
oGrd.SetAll("dynamicbackcolor", "", "Column")
oGrd.SetAll("dynamicforecolor", "", "Column")
oGrd.SetAll("dynamicforecolor", ;"IIF(EMPTY(Nombre_de_la_Variable), RGB(0,0,0), RGB(0,0,0))", "Column")
oGrd.SetAll("dynamicbackcolor", ;"IIF(EMPTY(Nombre_de_la_Variable), RGB192,192,192), RGB(255,255,255))", "Column")
oGrd.Refresh
*: Fin
4)Esta parte de codigo es tomado de los demos de ejemplo de las ayuda de VisualFox.
P.D. Aqui te paso el código tal como viene en el ejemplo, cada Case realiza un efecto colores sobre el grid, ajusta el codigo a tus variables por si deseas algo mas.
*DO CASE
* CASE THIS.Value = 2 && Ledger
* oGrd.SetAll("dynamicbackcolor", ;
* "IIF(RECNO()%2 = 0,RGB(255,255,0), RGB(255,255,255))", "Column")
*----------------------------------------------------
* CASE THIS.Value = 3 && RGB(192,192,192)discontinued items
*---------------------