TreeView共分两级。第一级为ncsModereg表。第二级为ncsMenureg表。ncsuserable为控制权限表,直接用户和menu对应。
Private Sub SetMenu()
Dim sql, sql2, sql3 As String
sql = " select Mode_id from ncsmodereg where mode_ID in(select Mode_id from ncsmenureg where menu_id in (select Menu_ID from ncsuserable where user_code='" + Session("USERID") + "'))"
sql2 = "select * from ncsmenureg order by Menu_order,Menu_ID DESC"
sql3 = "select * from ncsuserable where user_code='" + Session("USERid") + "'"
Dim ds, ds2, ds3 As DataSet
ds = getDataset(sql)
ds2 = getDataset(sql2)
ds3 = getDataset(sql3)
Dim dr, dr2, dr3 As DataRow
Dim node As TreeNode
Dim nod As TreeNode
For Each dr In ds.Tables(0).Rows
node = New TreeNode
node.Text = dr("Mode_id")
node.ImageUrl = "images/tree/t1.gif"
node.SelectedImageUrl = "images/tree/t2.gif"
TreeView1.Nodes.Add(node)
For Each dr2 In ds2.Tables(0).Select("Mode_id='" + dr("Mode_id") + "'")
nod = New TreeNode
nod.Text = dr2("Menu_id")
nod.ImageUrl = "images/tree/t1.gif"
nod.SelectedImageUrl = "images/tree/t2.gif"
nod.NavigateUrl = dr2("Menu_url")
nod.Target = "main"
For Each dr3 In ds3.Tables(0).Rows
If Trim(dr3("Menu_ID")) = Trim(dr2("Menu_id")) Then
node.Nodes.Add(nod)
End If
Next
Next
Next
End sub