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 :

Etat d'un bouton différent pour chaque ligne d'une zone répétée


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Points : 93
    Points
    93
    Par défaut Etat d'un bouton différent pour chaque ligne d'une zone répétée
    Bonjour,

    J'ai créé une zone répétée fichier qui possède des champs lié à une requête mais aussi un bouton.

    Cette zone répétée sert à afficher les caractéristiques de chaque article appartenant à une commande. Le bouton permet de solder l'article de la ligne sélectionnée.

    Mais le bouton doit être actif quand l'article n'est pas soldé et grisé quand l'article est déjà soldé.

    Je rempli ma zone répété grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HLitPremier(requête)
    TANTQUE HEnDehors(requête)
         ZoneRépétéeSelectPlus(FEN_Accueil.ONG_Documents.ZR_REQ_Affiche_Articles_Document, j)
         // Mise à jour d'une ligne de la zone répétée avec un enregistrement de la requête
         // Changement de l'état du bouton en fonction de l'état de l'article
         ...
         HlitSuivant(requête)
    FIN
    Je change bien l'état du bouton pour chaque ligne de la zone répétée mais au final, c'est le dernier état qui est pris en compte pour toute les lignes !

    En revanche, mes données sont bien affichées (différentes en fonction de la ligne).

    Comment doit-je m'y prendre ?

    Merci.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Créez un attribut qui est lié à la propriété état de votre bouton et manipulez uniquement l'attribut.

    Les champs d'une zone répétée ne doivent pas être manipulés directement. Il faut déclarer des attributs pour chaque propriété de chaque champ qu'on souhaite manipuler.

    D'autre part, vous avez l'air de faire des traitements en double :

    - Soit votre ZR est liée à une source de données et vous devez utiliser le traitement "Affichage d'une ligne" pour bricoler des attributs spécifiques qui ne serait pas liés à une rubrique de la source de données

    - Soit vous parcourez vous même votre source de données, vous ajoutez chaque ligne avec ZoneRepeteeAjouteLigne et donnez directement à chaque attribut la bonne valeur

    Ici c'est étrange, votre ZR a l'air déjà remplie (liée à une source de données) , vous parcourez toutes les lignes pour les sélectionner. Ce n'est pas très logique.

  3. #3
    Membre régulier
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Merci de votre réponse.

    Ici c'est étrange, votre ZR a l'air déjà remplie (liée à une source de données) , vous parcourez toutes les lignes pour les sélectionner. Ce n'est pas très logique.
    C'est une erreur de ma part effectivement. En fait, je fait un ZoneRépétéeAffiche(requête) dans un premier temps et ensuite j'exécute une seconde requête pour afficher d'autres informations pour chaque ligne de la zone répétée. Ce qui est complètement inutile puisqu'il suffit de faire une seule requête... merci de m'avoir fait remarqué cette erreur.

    Créez un attribut qui est lié à la propriété état de votre bouton et manipulez uniquement l'attribut.
    Je vais essayer cette solution.

    Merci vmolines.

  4. #4
    Membre régulier
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Créez un attribut qui est lié à la propriété état de votre bouton et manipulez uniquement l'attribut.
    Je ne comprend pas comment créer un attribut qui est lié à la propriété état d'un bouton ! Pouvez vous m'expliquer ?

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Voir l'index de l'aide :

    Zone répétée (Champ) > Le champ Zone Répétée

  6. #6
    Membre régulier
    Homme Profil pro
    Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Inscrit en
    Septembre 2008
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Spécialiste en Maintenance Applicative / Developpeur C#, VB, PL-SQL, T-SQL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Créez un attribut qui est lié à la propriété état de votre bouton et manipulez uniquement l'attribut.
    Citation Envoyé par vmolines Voir le message
    Voir l'index de l'aide :

    Zone répétée (Champ) > Le champ Zone Répétée
    Pour moi, l'aide n'explique pas comment créer un attribut pour un bouton !
    De plus, il est rappelé que l'utilisation d'attributs n'est pas obligatoires dans WinDev.

    Quand je modifie un champ texte non lié à une requête en lui attribuant une valeur différente pour chaque ligne de la zone répétée ça fonctionne ! En revanche, quand je change l'état d'un bouton (actif ou grisé selon la ligne) ça ne marche pas : c'est l'état du dernier bouton qui est pris en compte pour tous les boutons de la zone répétée !!!

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/12/2009, 19h25
  2. Réponses: 0
    Dernier message: 06/10/2009, 13h02
  3. [MySQL] Créer un enregistrement pour chaque ligne d'une zone de texte
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/09/2009, 20h14
  4. Réponses: 8
    Dernier message: 13/07/2009, 08h57
  5. Charset et Interclassement différent pour chaque ligne
    Par berceker united dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 28/08/2007, 23h44

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