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

C# Discussion :

treeview, cocher le checkbox d'un noeud parent automatiquement si au moins un noeud fils est coché.


Sujet :

C#

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 014
    Points
    2 014
    Par défaut treeview, cocher le checkbox d'un noeud parent automatiquement si au moins un noeud fils est coché.
    Bonjour

    Tout est dans le titre.

    Je réfléchi à comment faire ça et j'arrive qu'à des algo relativement complexes avec des successions de boucles...

    Il me semble que dans 99.99999% des applis (pour ne pas dire 100), si un noeuf fils est coché, les noeuds parents doivent être cochés aussi (pour savoir qu'un noeud fils est coché, si les noeuds fils sont invisibles car réduits).

    Du coup ça m'intrigue qu'il n'y est pas une méthode ou une propriété qui gère que cela se fasse tout seul, je n'ai pas trouvé sur le msdn.

    Y a t-il une telle propriété qui fait que ça se fait tout seul ou une méthode pour le faire facilement sur évènement ?

    Merci
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Y a t-il une telle propriété qui fait que ça se fait tout seul
    Non.

    La solution consiste à gérer l'event AfterCheck du TreeView en mettant à jour la Propriété Checked du noeud Parent. Si le noeud Parent n'était pas déjà coché, sa mise à jour va appeler automatiquement l'event AfterChecked et on cochera donc tous les ancêtres sans qu'on ait besoin de programmer une procédure récursive.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 935
    Points : 2 014
    Points
    2 014
    Par défaut
    Ça a l'air simple dit comme ca...

    Merci, ca marche nickel !
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

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

Discussions similaires

  1. [AC-2003] Retrouver un noeud parent dans un Treeview
    Par cobaye13 dans le forum Access
    Réponses: 2
    Dernier message: 19/04/2015, 09h53
  2. TreeView : Obtenir un noeud parent
    Par Maniz dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/09/2011, 14h00
  3. Recuperer les enfants d'un noeud parent dans un treeview
    Par skunkies dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/01/2009, 14h31
  4. [JTree]noeud parent dans un jtree
    Par wassimb dans le forum Composants
    Réponses: 5
    Dernier message: 22/03/2004, 14h06

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