PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → modification couleur ligne en fonction d'un test
modification couleur ligne en fonction d'un test
Iniciado por dfavier, 22,mar. 2006 17:52 - 5 respuestas
Publicado el 22,marzo 2006 - 17:52
Je cherche à modifier la couleur d'une ligne de ma table "TABLE_SIEGES" en fonction de la présence de l'enregistrement dans une autre table "TABLE_REQ_CDE_PAX_POUR_SUPPR"

J'ai écrit le code suivant dans l'affichage d'une ligne de ma table TABLE_SIEGES"

Mais le résultat c'est que toutes les lignes changent de couleur,
j'ai du rater une étape

----------------------------------------------------
POUR i=1 A TableOccurrence(TABLE_SIEGES)
y=TableCherche(TABLE_REQ_CDE_PAX_POUR_SUPPR.NUMBILLET,TABLE_SIEGES.NUMBILLET,Vrai)
SI y <>-1 ALORS
MoiMême..CouleurFond=iBleuClair
MoiMême..Couleur=iBlanc
FIN
i++
FIN

Merci d'avance
Publicado el 22,marzo 2006 - 18:06
Daniel Favier a écrit :
Je cherche à modifier la couleur d'une ligne de ma table "TABLE_SIEGES" en fonction de la présence de l'enregistrement dans une autre table "TABLE_REQ_CDE_PAX_POUR_SUPPR"

J'ai écrit le code suivant dans l'affichage d'une ligne de ma table TABLE_SIEGES"

Mais le résultat c'est que toutes les lignes changent de couleur,
j'ai du rater une étape

oui ! :)
il te manque l'indice de la table :
TABLE_SIEGES[y]..CouleurFond=iBleuClair
TABLE_SIEGES[y]..Couleur=iBlanc
----------------------------------------------------
POUR i=1 A TableOccurrence(TABLE_SIEGES)
y=TableCherche(TABLE_REQ_CDE_PAX_POUR_SUPPR.NUMBILLET,TABLE_SIEGES.NUMBILLET,Vrai)
SI y <>-1 ALORS
MoiMême..CouleurFond=iBleuClair
MoiMême..Couleur=iBlanc
FIN
i++
FIN

Merci d'avance



--
Jacques Trepp
Albygest - 81160 - St Juery
jacques-pas de spam.trepp@free.fr
(enlever '-pas de spam' pour me joindre)
http://www.albygest.com
Publicado el 22,marzo 2006 - 18:16
Bonjour,

essaye de mettre ca dans Affichage d'une ligne, mais je ne suis pas sur que ca marche :

TABLE_SIEGES[TABLE_SIEGES]..CouleurFond=iBleuClair
TABLE_SIEGES[TABLE_SIEGES]..Couleur=iBlanc

au lieu de :

MoiMême..CouleurFond=iBleuClair
MoiMême..Couleur=iBlanc


Jespere que ca marchera, bonne continuation et bon dev.

Chris Letellier.
Publicado el 22,marzo 2006 - 18:16
Deux petites corrections:
- pas besoin de faire i++, l'incrémentation est automatique avec la condition "POUR"
- vous n'utilisez pas l'indice "i" pour indiquer la ligne dans TABLE_SIEGES

Votre code doit ressembler a ça:

POUR i=1 A TableOccurrence(TABLE_SIEGES) y=TableCherche(TABLE_REQ_CDE_PAX_POUR_SUPPR.NUMBILLET,TABLE_SIEGES[i][numero_colonne_NUMBILLET],Vrai)
SI y <>-1 ALORS
MoiMême..CouleurFond=iBleuClair
MoiMême..Couleur=iBlanc
FIN
FIN

Bon Dev!!
Florence POUGET
Publicado el 22,marzo 2006 - 18:31
POUR i=1 A TableOccurrence(TABLE_SIEGES)
y=TableCherche(TABLE_REQ_CDE_PAX_POUR_SUPPR.NUMBILLET,TABLE_SIEGES.NUMBILLET,Vrai)
SI y <>-1 ALORS
MoiMême..CouleurFond=iBleuClair
MoiMême..Couleur=iBlanc
FIN
i++
FIN


Je crois que tout le monde a fait une petite erreur d'interprétation du probleme ici...

Le code d'affichage d'une ligne de table est ré exécuté pour chaque ligne => pas besoin de parcourir toute la table a chaque fois, et en plus ca provoque une surcharge de la pile d'appels.

Le code a mettre est :

// affichage d'une ligne de la table
y est entier = tablecherche(...)
si y <> -1 alors
-- moimeme[moimeme]..couleurfond = ibleuclair
-- moimeme[moimeme]..couleur = iblanc
fin
// fin du code

Lionel
Publicado el 22,marzo 2006 - 18:43
Merci, ça marche bien

Daniel