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 :

Cocher un seul interrupteur dans une table [WD16]


Sujet :

WinDev

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Par défaut Cocher un seul interrupteur dans une table
    Bonjour, je cherche une solution simple pour un problème simple :

    J'ai un table avec n lignes et la dernière colonne est un interrupteur.

    Je coche une case. OK

    Si j'en coche une autre je voudrais que la première se décoche.

    Une solution simple ?

    Amicalement,

    Eric.

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Bonjour,
    La seule qui me vient à l'esprit est de décocher toutes les autres lignes (avec une boucle POUR TOUT par exemple).

    Tatayo.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Par défaut
    Bonjour et merci de ta réponse.

    C'est ce que je me disais mais j'espérais une simple case à cocher dans les 7 onglets pour dire "une seule case cochée".

    Eric.

  4. #4
    Membre très actif Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Par défaut
    Bonjour,
    En plus de ce qu'à dit TATAYO, tu peux déselectionner "multiselection" sur la colonne en question.

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Est-ce une nouveauté de la version 17 ? Avec la 16 je viens de parcourir les onglets, je ne trouve pas cette option pour une colonne "Interrupteur".

    Tatayo.

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

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 393
    Par défaut
    Bonjour

    Si c'est une table mono-sélection tu peux aussi mémoriser dans une variable l'indice de la dernière ligne cochée et la décocher à la sélection d'une ligne
    Ce qui donnerait dans le code de modification de ta colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // nMemoIndice est déclarée dans le code global de la fenêtre
    SI col_MaCoche = Vrai ALORS
       SI nMemoIndice = 1 A TableOccurrence(Table_Test) ALORS Table_FicTest.col_MaCoche[nMemoIndice] = Faux
       nMemoIndice = TableSelect(Table_Test)
    FIN
    Le POUR TOUT est plus simple et je fais souvent comme ça pour les petites tables.
    Par contre le code d'affichage de chaque ligne est du coup ré-exécuté, donc selon les traitements ce n'est pas souhaitable

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Par défaut
    Merci pour vos précieuses remarques, je vais utiliser le code de hpascal.
    Merci.
    Eric.

  8. #8
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    Citation Envoyé par hpascal Voir le message
    Par contre le code d'affichage de chaque ligne est du coup ré-exécuté, donc selon les traitements ce n'est pas souhaitable
    Il suffit de tester la valeur de chaque ligne avant affectation, ainsi seule la ligne précédemment cochée est modifiée.

    Tatayo.

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

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 393
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Il suffit de tester la valeur de chaque ligne avant affectation, ainsi seule la ligne précédemment cochée est modifiée.
    Exact tatayo

  10. #10
    Membre très actif Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Est-ce une nouveauté de la version 17 ? Avec la 16 je viens de parcourir les onglets, je ne trouve pas cette option pour une colonne "Interrupteur".

    Tatayo.
    Désolé j'ai commis une erreur.Je m'en excuse.
    En fait,je voulais parler de la selection simple qui peut se faire sur une table.Et comme la colonne fait partie de la table ,elle pourrait en être affectée.Mais cette solution est restrictive, car elle destabiliserait un éventuel multiselection programmé des autres colonnes.

    encore désolé

  11. #11
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 430
    Par défaut
    C'est bien dommage, j'ai quelques cas pour lesquels une telle fonctionnalité m'aurait éviter des lignes de codes.
    Peut-être pour la version 18 ?

    Tatayo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] Interrupteur dans une table mémoire
    Par labib23dz dans le forum WinDev
    Réponses: 1
    Dernier message: 16/11/2013, 15h19
  2. [WD15] Décocher des interrupteurs dans une table
    Par Menadel dans le forum WinDev
    Réponses: 7
    Dernier message: 28/04/2013, 17h32
  3. Réponses: 6
    Dernier message: 06/02/2008, 14h05
  4. Impossible de cocher une case dans une table
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 8
    Dernier message: 26/11/2006, 13h56
  5. Réponses: 2
    Dernier message: 21/10/2005, 13h22

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