使用 Child_ID、Child_Name、Parent_ID、Parent_Name 填充 Treeview

Populate Treeview using Child_ID, Child_Name, Parent_ID, Parent_Name

美好的一天,

我正在将 table 从 SQL 服务器导出到 Access 数据库,我需要从中构建树视图并为每个节点分配值。我是使用 VB .net.

处理树视图的新手

table结构是这样的

**Child_ID 孩子姓名 Parent_ID Parent姓名 **

每个 child object 都有一个 Parent ID。 任何专家都可以建议一种使用上述列填充树视图的方法吗?在此过程中,我想将 ChildName/ParentName 分配为 TreeNode 文本(displyName)并将 Child_ID/Parent_ID 分配为我想在另一个应用程序中使用的树节点标签。

提前致谢。

  RootName = "AppRootName" 

                            Dim root = New TreeNode(RootName)
                            MyTreeView.Nodes.Add(root)
                            MyTreeView.TopNode = root

                            For Each dbRow As DataRow In DTHier.Rows
                                ChildName = dbRow.Item(0).ToString()
                                ChildID = dbRow.Item(1).ToString().ToUpper  
                                ParentID = dbRow.Item(2).ToString().ToUpper
                                ParentName = dbRow.Item(3).ToString() 

                                Dim ParentNode = New TreeNode() With { _
                                   .Name = ParentName.ToString(), _
                                    .Text = ParentName, _
                                    .Tag = ParentID _
                               }

                                Dim ChildNode = New TreeNode() With { _
                                  .Name = ChildName.ToString(), _
                                   .Text = ChildName, _
                                   .Tag = ChildID _
                              }


                                MyTreeView.Nodes(0).Nodes.Add(ParentNode)

                                Dim NodeFound As Integer = MyTreeView.Nodes(0).Nodes.Find(ChildNode.Tag, True).Length
                                If NodeFound > 0 Then
                                    ParentNode.Nodes.Add(ChildNode)
                                End If

你可以试试:

  'Creating the root node
  ' Main Node - All Treeview MUST have at least ONE.
  Dim root = New TreeNode("Application")

  ' Add a node under it.
  TreeView1.Nodes.Add(root)
  TreeView1.Nodes(0).Nodes.Add(New TreeNode("First Child from Root"))

  'Creating child nodes under the first child
  For loopindex As Integer = 1 To 4
      TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode("Childs" & Str(loopindex)))
  Next loopindex

  ' creating child nodes under the root (0)
  TreeView1.Nodes(0).Nodes.Add(New TreeNode("Second Child from Root"))

  'creating child nodes under the created child node
  For loopindex As Integer = 1 To 3
      TreeView1.Nodes(0).Nodes(1).Nodes.Add(New TreeNode("Childs from Node 1 - " & Str(loopindex)))
  Next loopindex