代码改变世界

从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

free web counter