FoxPro/Visual FoxPro - Colores de filas en un grid

 
Vista:
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Colores de filas en un grid

Publicado por Roberto Martinez Andrade (55 intervenciones) el 15/06/2020 23:11:14
Hola a todos, la consulta es a siguiente, necesito que el contenido de las filas de una grilla queden en fontbold de acuerdo a una condición.

el campo es de tipo carácter y tiene un S o N, siendo necesario que al leer la N quede el texto en negrita.

Como no encontré algo que lo hiciera, utilice DynamicBackColor, pero paso algo que no me explico

Con la siguiente sintaxis me da error que muestro en la imagen

.SetAll("DynamicBackColor", ;
"IIF(ALLTRIM(habval)=N, RGB(255,255,255) ;
, RGB(51,153,255))", "Column")

pero al cambiar a:

.SetAll("DynamicBackColor", ;
"IIF(LEN(ALLTRIM(habval))=1, RGB(255,255,255) ;
, RGB(51,153,255))", "Column")

error
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Colores de filas en un grid

Publicado por Fidel José (657 intervenciones) el 16/06/2020 20:10:39
1
2
3
.SetAll("DynamicBackColor", ;
"IIF(ALLTRIM(habval)=[N], RGB(255,255,255) ;
, RGB(51,153,255))", "Column")

O sea, el valor "N" tiene que estar entre comillas, de lo contrario N tendría que ser una variable, lo que no es posible para esta formulación.

En el segundo intento pones trim(habval)=1, lo cual es una incoherencia. Trim() es una función para string mientras que 1 (sin comillas) es una constante numérica.

Por otro lado, si el campo HabVal es C1 (un caracter), funcionará mejor así:
1
.SetAll("DynamicBackColor", "IIF(habval=[N], RGB(255,255,255) , RGB(51,153,255))", "Column")

Además, resulta recomendable calificar el campo. Supongamos que el cursor o tabla se llama "CurActual"
1
.SetAll("DynamicBackColor", "IIF(curActual.habval=[N], RGB(255,255,255) , RGB(51,153,255))", "Column")

Además, si indicas el número de color (resultado de la función rgb() ), tendrás menos delay al moverte por la cuadrícula.
1
.SetAll("DynamicBackColor", "IIF(curActual.habval=[N],16777215  , 16750899)", "Column")

Para obtener los valores de la función RGB() fácilmente:
1
_cliptext = TRANSFORM(RGB(51,153,255) )
y pegas el resultado donde corresponda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Colores de filas en un grid

Publicado por roberto (55 intervenciones) el 16/06/2020 22:24:30
Me quedo muy claro lo que explicas, gracias.

Una ultima consulta aprovechando tu buena voluntad, como se haría para que la linea quedara en negrita, la propiedad fontbold=.t. de acuerdo a la misma condición.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Colores de filas en un grid

Publicado por Fidel José (657 intervenciones) el 17/06/2020 20:20:01
Puede ser algo asi:
1
this.grilla.SetAll("DynamicFontBold" , "IIF(habVal=[s],.t.,.f.)" , "Column")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Colores de filas en un grid

Publicado por roberto (55 intervenciones) el 18/06/2020 17:11:03
Un trillon de gracias, quedo perfect la grilla con todas las aclaraciones.
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