Заполните treeview с помощью mysql
Привет
Я ищу способ заполнить treeview из базы данных mysql, я нашел код, который заполняет treeview с помощью
Dictionaryно его работа с двумя столбцами, а у меня есть три столбца в моей таблице, была бы решетка, Если бы кто-то помог мне сделать это с тремя столбцами.
мой стол :
Root_Name Child_Name Grandchild_Name
Root1 Child1, Так Grandchild1
Root1 Child1 Grandchild2
Root1 Ребенка2
Root2 Child1, Так
Root2 Ребенка2 Grandchild1
Child1, Так Root3
Что я уже пробовал:
Этот код добавляет много корней и их детей :
Public Function fill_TreeViewProject() As DataTable DT_Project_tree_dt.Clear() MyQuery = "" Dim conString As String = String.Format("server={0}; user id={1}; password={2}; database={3}; pooling=false", server, userName, password, DatabaseName) Using con As New MySqlConnection(conString) MyQuery = "SELECT DISTINCT(Child), Root, Id FROM Project_tree;" Using cmd As New MySqlCommand(MyQuery, con) cmd.CommandType = CommandType.Text Using sda As New MySqlDataAdapter(cmd) Using DT_Project_tree_dt sda.Fill(DT_Project_tree_dt) Return DT_Project_tree_dt End Using End Using End Using End Using End Function
Public Sub Fill_Node_Tree() Tview_Nodes.Nodes.Clear() Dim dict As New Dictionary(Of String, List(Of String))() For Each row As Data.DataRow In fill_TreeViewProject.Rows Dim ParentRow As String = DirectCast(row.Item(1), String) Dim ChildRow As String = DirectCast(row.Item(0), String) If ParentRow Is Nothing OrElse ChildRow Is Nothing Then Continue For End If If dict.ContainsKey(ParentRow) Then 'Add Child if parent already exist dict(ParentRow).Add(ChildRow) Else 'Add parent if dosen't exist and attach the child dict.Add(ParentRow, New List(Of String)()) dict(ParentRow).Add(ChildRow) End If Next Dim node As TreeNode For Each kvp In dict 'Add Parent node node = New TreeNode(kvp.Key) Tview_Nodes.Nodes.Add(node) 'Loop through list value and add to parent item as childs For Each chiled As String In kvp.Value node.Nodes.Add(chiled) Next Next End Sub