Hola, José.
>Compañeros; en una Tabla tengo un campo SCL númerico que van del 1 al 4, donde cada número representa un color para la leyenda de los articulos, por ejemplo: 1 = blanco, 2 = azul, 3 = rojo, 4 = anaranjado.
>
>DO CASE
> CASE scl = 1 && blanco
> cDynamicCL1='IIF(RECNO()=ThisForm.HitRow,RGB(105,251,255),IIF(scl=1,RGB(255,255,255),RGB(255,255,255)))'
> Thisform.SetAll('DynamicBackColor',cDynamicCL1,'Column')
>
> CASE scl = 2 && azul
> cDynamicCL2='IIF(RECNO()=ThisForm.HitRow,RGB(105,251,255),IIF(scl=2,RGB(0,0,255),RGB(255,255,255)))'
> Thisform.SetAll('DynamicBackColor',cDynamicCL2,'Column')
>
> CASE scl = 3 && rojo
> cDynamicCL3='IIF(RECNO()=ThisForm.HitRow,RGB(105,251,255),IIF(scl=3,RGB(255,0,0),RGB(255,255,255)))'
> Thisform.SetAll('DynamicBackColor',cDynamicCL3,'Column')
>
> CASE scl = 4 && anaranjado
> cDynamicCL4='IIF(RECNO()=ThisForm.HitRow,RGB(105,251,255),IIF(scl=4,RGB(255,149,43),RGB(255,255,255)))'
> Thisform.SetAll('DynamicBackColor',cDynamicCL4,'Column')
>ENDCASE
>
>Pero solo me está tomando la condición CASE scl = 4 && anaranjado
>
>¿Cómo hago para que en el grid los datos adopten los colores de acuerdo al campo SCL?
Lo que debes hacer es poner este case en un método del formulario (mejor aún un método de tu clase grid al que pueda llamar) y que la expresión del DynamicXXXColor sea = "thisform.ColorApropiado()".
Cada vez que se llamae este método estarás ubicado en el registro correspondiente, por lo que el case es sencillo. Por otro lado, asegúrate de que sea lo más rápido posible, casualmenete porque el método estará siendo llamado todo el tiempo.
Saludos,