IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Mettre en couleur un ligne de ma table selon un paramètre


Sujet :

WinDev

  1. #1
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut Mettre en couleur un ligne de ma table selon un paramètre
    Bonjour je voudrais qu'à chaque fois que la colonne Etat de ma Tableau TABLE1 a pour valeur "Ok" qu'il mette la ligne correspondante en rouge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nb est un entier
    gnCpt1=1
    gnCpt2=TableOccurrence(TABLE1)
    TANTQUE gnCpt1<=gnCpt2
    	TableSelectPlus(MoiMême,gnCpt1)
    	nb=0
    	SI FEN_TABLE1.COL_EtatDA="Ok" ALORS
    		nb=gnCpt1
    		FEN_TABLE1..CouleurFond=RougeClair
    	FIN
    	TableSelectMoins(TABLE1,gnCpt1)
    	gnCpt1=gnCpt1+1
    FIN

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    il me semble que cela devrait marcher. Comme tu ne dis pas ce qui se passe c'est compliqué de savoir où t'aider.
    Tu dois cependant faire attention à mettre un sinon pour prendre la couleur de fond par défaut.

    Tu peux aussi utiliser la fonction "Pour toute ligne de " Table1 qui te permet de ne pas gérer de compteur ...

    à bientôt,

    Nicolas

  3. #3
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut
    j'ai modifié le code ainsi mais ce qui se passe c'est que c'est la couleur de fond du tableau qui se colorie en rouge, moi je voudrais mettre la ligne correspondant en rouge. Maintenant je pense que le probléme se trouve au niveau de l'indice de parcours que je n'arrive pas à déterminer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    POUR TOUTE LIGNE DE TABLE_DEMANDEAGREMENT
    	SI TABLE_DEMANDEAGREMENT.COL_EtatDA="Envoyée" ALORS
    		TABLE_DEMANDEAGREMENT..CouleurFond=RougeClair
    	FIN
     
    FIN

  4. #4
    Inactif
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2009
    Messages : 52
    Points : 1
    Points
    1
    Par défaut
    J'ai mis ce code et ça marche

    n est un entier=TableOccurrence(TABLE_DEMANDEAGREMENT)
    i est un entier
    POUR i=1 A n
    TableSelectPlus(TABLE_DEMANDEAGREMENT,i)
    SI TABLE_DEMANDEAGREMENT.COL_EtatDA="Envoyée" ALORS
    TABLE_DEMANDEAGREMENT[i]..CouleurFond=iRougeClair
    SINON
    TABLE_DEMANDEAGREMENT[i]..CouleurFond=iCouleurDéfaut
    FIN
    FIN


    Merci!!!!!!!!!!!

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    Dans le code que vous avez posté, vous pouvez supprimer l'instruction TableSelectPlus : puisque vous désignez la ligne avec son indice [i], elle ne doit pas être sélectionnée auparavant.

    Retenez plutôt la suggestion de Nicolas_Jeanneau qui est plus efficace et se relit plus aisément.

    Allez voir la doc - 1ère syntaxe et retenez que vous pouvez utiliser une variable indice qu'il ne faut même pas déclarer.

    Le second code que vous aviez posté devient alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POUR TOUTE LIGNE i DE TABLE_DEMANDEAGREMENT
       SI TABLE_DEMANDEAGREMENT[i].COL_EtatDA="Envoyée" ALORS
          TABLE_DEMANDEAGREMENT[i]..CouleurFond=RougeClair
       FIN	
    FIN

    Et retenez aussi la seconde syntaxe de Parcours des éléments sélectionnés, qui vous permettrait si vous maintenez votre TableSelectPlus de traiter sélectivement les lignes qui ont été sélectionnées.

    Bon travail

    Hemgé

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Il manque juste l'indice de la ligne en cours dans ce code :
    Citation Envoyé par cheikhoufia Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POUR TOUTE LIGNE DE TABLE_DEMANDEAGREMENT
       SI TABLE_DEMANDEAGREMENT.COL_EtatDA = "Envoyée" ALORS
          TABLE_DEMANDEAGREMENT[TABLE_DEMANDEAGREMENT]..CouleurFond = RougeClair
       FIN
    FIN

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 201
    Points : 12 778
    Points
    12 778
    Par défaut
    Bonjour,
    A mon avis le plus simple est de mettre le code (sans la boucle) dans la section "Affichage d'une ligne de la table".

    Tatayo.

  8. #8
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Citation Envoyé par tatayo Voir le message
    A mon avis le plus simple est de mettre le code (sans la boucle) dans la section "Affichage d'une ligne de la table".
    Entièrement d'accord avec toi

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 315
    Points : 202
    Points
    202
    Par défaut
    Tatayo a raison

    ça donne donc un truc comme ça (code à mettre dans 'Affichage d'une ligne de MATABLE')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELON MATABLE.COL_Info[MATABLE]
    	CAS 1 
    		MATABLE[MATABLE]..CouleurFond = VertPastel
    	CAS 2 
    		MATABLE[MATABLE]..CouleurFond = CyanPastel
    	CAS 3 
    		MATABLE[MATABLE]..CouleurFond = RougePastel
    	AUTRE CAS
    		MATABLE[MATABLE]..CouleurFond = iCouleurDéfaut		
    FIN

Discussions similaires

  1. mettre en couleur une ligne gridview
    Par hermine dans le forum ASP.NET
    Réponses: 20
    Dernier message: 21/08/2007, 11h39
  2. Changer la couleur de lignes d'une table mémoire
    Par gbrion dans le forum WinDev
    Réponses: 2
    Dernier message: 15/03/2007, 16h25
  3. la couleur des lignes dans une table
    Par Platon93 dans le forum Access
    Réponses: 3
    Dernier message: 30/11/2006, 15h05
  4. [JTable] Mettre en couleur une ligne de ma JTable
    Par cedricbr dans le forum Composants
    Réponses: 3
    Dernier message: 03/03/2006, 12h47
  5. Mettre a jour plusieurs lignes d'une table
    Par Tartenpion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/12/2005, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo