PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Colorisation conditionnelle d'un libellé dans une ZR — WinDev 28
Colorisation conditionnelle d'un libellé dans une ZR — WinDev 28
Débuté par Giloo, 25 mai 2026 12:17 - 2 réponses
Membre enregistré
8 messages
Posté le 25 mai 2026 - 12:17
Dans l'événement "Affichage d'une ligne" de ma ZR, je cherche à coloriser un libellé LIB_Niveau lié à la rubrique NiveauRisque selon sa valeur (Faible/Moyen/Élevé).
J'ai tout essayé : SELON, SI, ..Couleur, ..CouleurFond, délier le champ, MoiMême dans l'événement du champ, ..Style = -1... Le résultat est toujours le même : c'est la couleur de la dernière ligne affichée qui s'applique à toutes les autres au scroll.
Quelle est la bonne méthode en WinDev 28 ?

Code Affichage d'une ligne de ZR_Services :

SI ATT_Etat <> "Arrêté" ALORS
ATT_BTN = Vrai
SINON
ATT_BTN = Faux
FIN

// Force le rafraîchissement du champ AVANT de changer la couleur
ZR_Services.LIB_Niveau = ATT_Niveau // réaffecte explicitement

SELON ATT_Niveau
CAS "Faible"
LIB_Niveau..Couleur = VertFoncé
CAS "Moyen"
LIB_Niveau..Couleur = OrangeFoncé
CAS "Élevé"
LIB_Niveau..Couleur = RougeFoncé
AUTRE CAS
LIB_Niveau..Couleur = Noir
FIN
Message modifié, 25 mai 2026 - 12:19
Membre enregistré
8 messages
Posté le 25 mai 2026 - 13:09
En fait j'ai trouvé tout seul.
La solution est élégante et logique : au lieu de lutter contre le moteur de WinDev qui écrasait ..Couleur après mon code, j'ai inversé la logique :

ATT_Niveau n'est plus un attribut de valeur texte mais un attribut de couleur
LIB_Niveau affiche sa propriété Couleur directement depuis l'attribut
Le moteur de la ZR gère lui-même la couleur via la liaison — donc il ne l'écrase plus, il la lit !

SI ATT_Etat <> "Arrêté" ALORS
ATT_BTN = Vrai
SINON
ATT_BTN = Faux
FIN

Niv est une chaîne = Services.NiveauRisque


SELON Niv
CAS "Faible"
ATT_Niveau = VertFoncé
CAS "Moyen"
ATT_Niveau = OrangeFoncé
CAS "Élevé"
ATT_Niveau = RougeFoncé
AUTRE CAS
ATT_Niveau = Noir
FIN


C'est WinDev dans toute sa logique : quand on se bat contre le moteur on perd, quand on travaille avec le moteur on gagne. 😄
Membre enregistré
22 messages
Posté le 26 mai 2026 - 20:07
Hello,
La syntaxe n'utilisant pas les attributs nécessite de spécifier l'indice de la ligne concernée :
ZR_Services[indice].LIB_Niveau..couleur=VertFoncé


Bon dev