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 :
Aprés j'ajoute le lstCateg dans une Cellule d'une Table, tout simplement
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
Et la sub de population :
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é.
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
Pouvez m'aider ?
Partager