从XML文件读取数据动态设置Tree控件使用
2007-03-29 09:19 ruinet 阅读(636) 评论(0) 编辑 收藏 举报效果如图:
Xml文档如下:
根据权限设置tree节点
1 Private Sub BindTree()
2
3 Dim strJD As String
4 Dim DBRoleObj As New DBRole
5 Dim TypeValue As String
6 Dim JdtName As String = Nothing
7 Dim XDoc As New XmlDocument
8 Dim AppTionPath As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
9 Dim Path As String = AppTionPath & "\App_Data\tree.xml"
10 Try
11
12
13 XDoc.Load(Path)
14
15 tree.Nodes.Clear()
16 If Role <> "Administrator" Then
17 strJD = DBRoleObj.GetJd(Role)
18
19 For Each node As XmlNode In XDoc.GetElementsByTagName("Type")
20 TypeValue = node.Attributes("name").Value
21 Dim tNode As TreeNode = New TreeNode(TypeValue)
22 tNode.NavigateUrl = "~/index.aspx"
23 tree.Nodes.Add(tNode)
24
25 For Each nodex As XmlNode In node.ChildNodes
26 JdtName = nodex.ChildNodes(1).InnerText
27 If strJD.Contains(JdtName) Then
28 Dim sNode As TreeNode = New TreeNode()
29 sNode.Text = nodex.ChildNodes(0).InnerText
30 sNode.NavigateUrl = nodex.ChildNodes(2).InnerText
31 tNode.ChildNodes.Add(sNode)
32 End If
33
34 Next
35 If tNode.ChildNodes.Count = 0 Then
36 tree.Nodes.Remove(tNode)
37 End If
38 Next
39
40 Else
41
42 For Each node As XmlNode In XDoc.GetElementsByTagName("Type")
43 TypeValue = node.Attributes("name").Value
44 Dim tNode As TreeNode = New TreeNode(TypeValue)
45 tNode.NavigateUrl = "~/index.aspx"
46 tree.Nodes.Add(tNode)
47
48 For Each nodex As XmlNode In node.ChildNodes
49 Dim sNode As TreeNode = New TreeNode()
50 sNode.Text = nodex.ChildNodes(0).InnerText
51 sNode.NavigateUrl = nodex.ChildNodes(2).InnerText
52 tNode.ChildNodes.Add(sNode)
53 Next
54 Next
55 End If
56
57 Catch ex As Exception
58
59 End Try
60
61 End Sub
2
3 Dim strJD As String
4 Dim DBRoleObj As New DBRole
5 Dim TypeValue As String
6 Dim JdtName As String = Nothing
7 Dim XDoc As New XmlDocument
8 Dim AppTionPath As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
9 Dim Path As String = AppTionPath & "\App_Data\tree.xml"
10 Try
11
12
13 XDoc.Load(Path)
14
15 tree.Nodes.Clear()
16 If Role <> "Administrator" Then
17 strJD = DBRoleObj.GetJd(Role)
18
19 For Each node As XmlNode In XDoc.GetElementsByTagName("Type")
20 TypeValue = node.Attributes("name").Value
21 Dim tNode As TreeNode = New TreeNode(TypeValue)
22 tNode.NavigateUrl = "~/index.aspx"
23 tree.Nodes.Add(tNode)
24
25 For Each nodex As XmlNode In node.ChildNodes
26 JdtName = nodex.ChildNodes(1).InnerText
27 If strJD.Contains(JdtName) Then
28 Dim sNode As TreeNode = New TreeNode()
29 sNode.Text = nodex.ChildNodes(0).InnerText
30 sNode.NavigateUrl = nodex.ChildNodes(2).InnerText
31 tNode.ChildNodes.Add(sNode)
32 End If
33
34 Next
35 If tNode.ChildNodes.Count = 0 Then
36 tree.Nodes.Remove(tNode)
37 End If
38 Next
39
40 Else
41
42 For Each node As XmlNode In XDoc.GetElementsByTagName("Type")
43 TypeValue = node.Attributes("name").Value
44 Dim tNode As TreeNode = New TreeNode(TypeValue)
45 tNode.NavigateUrl = "~/index.aspx"
46 tree.Nodes.Add(tNode)
47
48 For Each nodex As XmlNode In node.ChildNodes
49 Dim sNode As TreeNode = New TreeNode()
50 sNode.Text = nodex.ChildNodes(0).InnerText
51 sNode.NavigateUrl = nodex.ChildNodes(2).InnerText
52 tNode.ChildNodes.Add(sNode)
53 Next
54 Next
55 End If
56
57 Catch ex As Exception
58
59 End Try
60
61 End Sub