Salut à tous.

Je me lance sur un truc que je connais pas encore : le TreeView.
J'ai regardé une doc là : http://quickstarts.asp.net/QuickStar.../treeview.aspx
Et plus particulièrement celui là : http://quickstarts.asp.net/QuickStar...lang=VB+Source

Et celui là : http://quickstarts.asp.net/QuickStar...TreeView10.src

Alors le truc c'est ça marche bien, mais ce n'est pas tout à fait ce que je veux. Je voudrais un mélange des deux.

En gros, je veux présenter des produits par catégorie. J'ai donc une table de catégorie avec un système de catégorie parent. Je ne connais pas au préalable la profondeur des catégories, elles peuvent sur deux étages ou sur 5 et pas forcément toute sur le même nombre d'étages.
L'idée c'est de pouvoir peupler les noueds au fur et à mesure qu'il trouve des catégories enfants.

Et là je bloque sur un truc tout couillion : je comprend pas comment peupleur le noeud de deuixème étage. Donc, encore moins ceux d'en dessous.

Voici mon code actuel :
Dans le Init de ma page :
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
 
Dim lstCateg As New TreeView
        Dim lstCategNode As New TreeNode
        With lstCategNode
            .Text = "Catégorie"
            .Value = 0
            .SelectAction = TreeNodeSelectAction.Expand
            .PopulateOnDemand = True
        End With
        With lstCateg
            AddHandler lstCateg.TreeNodePopulate, AddressOf PopulateNode
            .ExpandDepth = 1
            .ID = "lstCateg"
            .Nodes.Add(lstCategNode)
        End With
Aprés j'ajoute le lstCateg dans une Cellule d'une Table, tout simplement
Et la sub de population :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
   Sub PopulateNode(ByVal source As Object, ByVal e As TreeNodeEventArgs)
 
        Dim dt As DataTable = New DManager("DataDev").RetournerTable("EXEC dbo.BOUTIQUE_ListeCategorie " & e.Node.Value)
        For Each dr As DataRow In dt.Rows
            Dim newNode As New TreeNode(dr.Item("NomCategorie"), dr.Item("IdCategorieProduit"))
            e.Node.ChildNodes.Add(newNode)
        Next
End Sub
Il ne me sort que mes catégories de premier niveau et je comprend pas ce que dois faire pour qu'il aille me chercher les autres pour chaque noeud rencontré.

Pouvez m'aider ?