Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cómo hago para que en el grid los datos adopten los colo
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 7 SP1
OS:
Windows '98
Network:
Windows 2000 Server
Database:
Visual FoxPro
Divers
Thread ID:
01042962
Message ID:
01043004
Vues:
13
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,
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform