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 :

[VB.NET] Treeview creer dynamiquement a partir d'une bd


Sujet :

Windows Forms

  1. #1
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut [VB.NET] Treeview creer dynamiquement a partir d'une bd
    Bonjour,
    J'aimerais creer un treeview dynamiquement a partir des resultats d'une requetes.
    Supposons que j'ai les resultats suivant :

    Colonne1 Colonne2
    A B
    B C
    C E
    D B
    A F
    B E

    Alors le tree devrait avoir pour rootnodes:

    A
    B
    C
    D
    E
    F

    C'est a dire que je parcours les lignes et j'ajoute a mon tree si ce n'est pas deja dedans.
    Pour les childnodes c'est plus delicat. Par exemple le rootnode A aura pour children: B et F, le rootnode B aura pour children: A, C, D et E
    ...
    Mon probleme ce n'est pas trop l'algorithme, c'est plutot comment creer le tree, c'est a dire les methodes a utiliser. J'ai bien trouver la methode Add qui permet d'ajouter un node mais elle ne distingue pas un child node d'un rootnode.
    Si quelque peut m'aider la dessus...
    Merci

  2. #2
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    Treeview te permet d'ajouter des Treenode et un treenode a une collection "Nodes" sur laquelle tu peux faire des add...tu as ta hiérarchie...

  3. #3
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    merci,
    en fait j'ai finis 8)
    si ca interesse quelqu'un ou si vous voyez un truc qui va pas, merci de me prevenir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
            Dim rNodeList As New ArrayList
            Dim cNodeList As New ArrayList  
            With sql
                .Append("select * ")
                .Append("from Relations where webID=1")
            End With
            con.Open()
            myCommand = New SqlCommand(sql.ToString, con)
     
            da.SelectCommand = myCommand
            da.Fill(dsRelations)
     
            For Each dr As DataRow In dsRelations.Tables(0).Rows
                If Not rNodeList.Contains(dr("table1")) Then
                    rNodeList.Add(dr("table1"))
                    myTree.Nodes.Add(dr("table1"))
                End If
                If Not rNodeList.Contains(dr("table2")) Then
                    rNodeList.Add(dr("table2"))
                    myTree.Nodes.Add(dr("table2"))
                End If
            Next
     
            For iCntr As Integer = 0 To rNodeList.Count - 1
                myTree.SelectedNode = myTree.Nodes(iCntr)
                For Each dr As DataRow In dsRelations.Tables(0).Rows
                    If (rNodeList.Item(iCntr).ToString.Equals(dr("table1")) And _
                        Not cNodeList.Contains(dr("table2"))) Then
                        Dim newNode As TreeNode = New TreeNode(dr("table2"))
                        myTree.SelectedNode.Nodes.Add(newNode)
                        cNodeList.Add(dr("table2"))
                    ElseIf (rNodeList.Item(iCntr).ToString.Equals(dr("table2")) And _
                        Not cNodeList.Contains(dr("table1"))) Then
                        Dim newNode As TreeNode = New TreeNode(dr("table1"))
                        myTree.SelectedNode.Nodes.Add(newNode)
                        cNodeList.Add(dr("table1"))
                    End If
                Next
                cNodeList.Clear()
            Next
            rNodeList.Clear()

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2003
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 39
    Points : 37
    Points
    37
    Par défaut
    Pense a mettre resolu, merci

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

Discussions similaires

  1. [ java.net ] récupérer un fichier PDF à partir d'une URL
    Par nico2280 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2005, 11h09
  2. creer plusieurs requêtes à partir d'une
    Par pixeldargent dans le forum Access
    Réponses: 8
    Dernier message: 18/10/2005, 11h44
  3. Réponses: 3
    Dernier message: 03/08/2005, 11h21
  4. [DOM] Comment creer un DOM à partir d une String
    Par RolandB dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/04/2005, 18h11
  5. [XML][DTD] Creer un parser à partir d'une DTD
    Par schnekre dans le forum Valider
    Réponses: 4
    Dernier message: 15/12/2003, 12h59

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