Public Sub BindCategoryTreeVew(ByVal treeView As TreeView, ByVal isExpanded As Boolean)
'将获取的数据转换为 一个DataTable
sortid = Request.QueryString("sortid")
Dim i As Integer
Dim dt As DataTable = edu.GetEduSortListByBigID(sortid).Tables(0)
treeView.Nodes.Clear()
'清空 树的所有节点
'获取与排序顺序中的筛选器以及指定的状态相匹配的所有System.Data.DataRow 数组
'创建跟节点
For i = 0 To dt.Rows.Count - 1
Dim rootNode As New TreeNode()
'设置根节点的属性
rootNode.Text = dt.Rows(i)("classname").ToString()
'设置根节点的值
rootNode.Value = dt.Rows(i)("classid").ToString()
rootNode.Expanded = isExpanded
rootNode.Selected = False
'添加跟节点
Me.treeView1.Nodes.Add(rootNode)
rootNode.SelectAction = TreeNodeSelectAction.None
CreateChildNode(rootNode, dt, isExpanded)
Next
treeView.SelectedNodeStyle.ForeColor = Drawing.Color.Red
End Sub
Private Sub CreateChildNode(ByVal parentNode As TreeNode, ByVal dt As DataTable, ByVal isExpanded As Boolean, ByVal num As Integer)
'选择数据,添加排序表达市
Dim rowList As DataSet = edu.GetEduSortListByBigID(parentNode.Value)
Dim q As Integer
For q = 0 To rowList.Tables(0).Rows.Count - 1
'创建一个新的节点了
Dim node As New TreeNode()
Dim str As String = rowList.Tables(0).Rows(q)("classid").ToString()
node.Text = rowList.Tables(0).Rows(q)("classname").ToString()
node.Value = rowList.Tables(0).Rows(q)("classid").ToString()
node.Expanded = isExpanded
node.Target = "frmlist"
node.NavigateUrl = "EduTestList.aspx?sortid=" & rowList.Tables(0).Rows(q)("classid").ToString() & ""
parentNode.ChildNodes.Add(node)
'递归调用,创建其他节点
CreateChildNode(node, dt, isExpanded)
Next
End Sub