大家好,
我从SQL Server导出一个表到Access数据库,从中我需要建立一个树视图和分配值给每个节点。我是使用vb.net处理树视图的新手。
表的结构是这样的
**Child_ID ChildName Parent_ID ParentName **
每个子对象都有一个父对象ID。有没有专家建议用上面的列来填充树视图?在此过程中,我想分配ChildName/ParentName作为TreeNode文本(displyName)和Child_ID/Parent_ID作为我想在另一个应用程序中使用的TreeNode标签。
提前感谢。
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