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

Windows Forms Discussion :

[Treeview] Comment compter les noeuds cochés ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Par défaut [Treeview] Comment compter les noeuds cochés ?
    Bonjour,

    Dans un treeview, est-il possible de compter uniquement les nœuds feuilles cochés ? J’ai plusieurs treeview dans mon application et tous n’ont pas le même nombre de niveaux. C’est pour ça que je cherche à compter que les nœuds feuilles cochés via une fonction générique pour tous les treeviews.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    il faut faire de la récursivité avec en paramètre de sub une collection de nodes
    au départ tu donnes celle du treeview
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Par défaut
    Re,

    D'abord merci de ton aide. Ensuite, j'imagine bien qu'il faut faire comme ceci, mais je suis un peu paumé sur les treeview.
    Je ne vois pas comment préciser que je ne m'intéresse qu'aux noeuds feuilles quelque soit le nb de niveaux du treeview d'une part, et d'autre part, de compter ceux qui sont cochés.

    Aurais-tu un exemple stp ?

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si tu ne sais pas ce qu'est une procédure récursive je t'invite à chercher, ca doit etre expliqué un de partout sur google ou même sur ce forum

    une fois que tu as compris le principe et en partant du point de départ que je t'ai donné tu sauras le nombre de cochées sur tout le treeview
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Par défaut
    Re,

    si tu ne sais pas ce qu'est une procédure récursive
    , si quand même...

    Ce que je ne vois pas, c'est pour ne m'intéresser qu'aux noeuds feuilles.

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    qu'appelle tu les noeuds feuilles ?
    que ceux qui ne sont pas directement sur le treeview ?
    si oui c'est pas plus compliqué que normal et ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim nb as integer
    nb  = 0 
    for each node in montreeview.nodes
      sub_recursive(node.nodes)
    next
     
    private sub sub_recursive (a_parcourir as treenodes)
      for each node in a_parcourir 
        if node est coché then nb+=1
        sub_recursive(node.nodes)
      next
    end sub
    nb : le for each ne rentre pas si aucun element dans le in donc ca sort au bout de chaque branche


    si tu veux dire que les noeud qui sont au bout ca veut dire qu'ils n'ont pas d'enfants dans ce cas ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    dim nb as integer
    nb  = 0 
    sub_recursive(montreeview.nodes)
     
    private sub sub_recursive (a_parcourir as treenodes)
      for each node in a_parcourir 
        if node.nodes.count = 0 and node est coché then nb+=1
        sub_recursive(node.nodes)
      next
    end sub
    et là aussi c'est pas bien sorcier
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [Débutant] Savoir les noeuds cochés dans une TreeView
    Par ekydeta dans le forum VB.NET
    Réponses: 6
    Dernier message: 20/01/2015, 16h12
  2. Comment compter les cases cochées sur une page ?
    Par Paul Reed Smith dans le forum Débuter
    Réponses: 4
    Dernier message: 24/03/2011, 12h03
  3. [vb.net] [treeview] comment trier les nodes
    Par graphicsxp dans le forum Windows Forms
    Réponses: 8
    Dernier message: 09/02/2006, 14h28
  4. Comment compter les doublons d'une colonne?
    Par Dnx dans le forum Langage SQL
    Réponses: 8
    Dernier message: 07/11/2005, 10h50
  5. [Graphique] Comment compter les couleurs d'une image ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 27
    Dernier message: 16/02/2005, 18h17

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