Bonjour,

J'ai une base de donnée avec une table structuré ainsi :

Nom de la table : XYZtable

column table :
Code
Descr(libellé)
ParentCode(fait référence au noeud parent si c'est "0" alors il n'a pas de parent)

Je voudrai remplir mon treeview à partir de cette base de donnée mais à partir du noeud suivant (enfant) je n'arrive plus à le remplir.

voici mon raisonnement pour l'instant

Je remplis la racine du treeview (ceux qui n'ont pas de parent parentCode = "0")

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
Private Sub loadParentNode()
        Dim ParentNode As TreeNode
        Dim index As Integer
 
        index = 0
 
        While (index < listeAbmrCodes.size)
            Dim abmrCode As AbmrCodes = CType(listeAbmrCodes.get(index), AbmrCodes)
            If abmrCode.getParentcode = "0" Then
                ' ParentNode = TreeViewAMBR.Nodes.Add(abmrCode.getCode, abmrCode.getCode + " - " + abmrCode.getDescr)
                ParentNode = TreeViewAMBR.Nodes.Add(abmrCode.getCode, abmrCode.getCode + " - " + abmrCode.getDescr)
            End If
            index = index + 1
        End While
    End Sub
Ensuite, j'essaye de remplir avec les données "enfants" qui peuvent aussi être "parents" etc...

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
Private Sub chargerListeAmbrCodes()
        loadParentNode()
 
        ' Dim ParentNode2 As TreeNode
 
        ' ParentNode = TreeViewAMBR.Nodes.Add("tv1")
 
        Dim cpt As Integer = 0
        Dim level As Integer = 0
        Dim MyNode() As TreeNode
 
        While (cpt < listeAbmrCodes.size)
 
            Dim abmrCode As AbmrCodes = CType(listeAbmrCodes.get(cpt), AbmrCodes)
 
            If abmrCode.getParentcode <> "0" Then ' pour récupérer que ceux qui on forcément un parent
 
                MyNode = TreeViewAMBR.Nodes.Find(abmrCode.getParentcode, True)
                MyNode(0).Nodes.Add(abmrCode.getParentcode, abmrCode.getCode + " - " + abmrCode.getDescr)
 
                End If
 
            End If
 
            cpt = cpt + 1
        End While
 
    End Sub
La method "Find" ne retrouve pas le noeux d de d'un enfants je n'arrive qu'a le remplir à 1 niveau.
J'aimerai le remplir à plusieurs niveaux en respectant la structure que j'ai données à ma base (le "parent" est référencé par "parentCode").

Pourriez-vous m'aidez ? j'ai beaucoup de mal avec ce treeview.

Merci d'avance

smith25