帮助中的
3、设置窗口和控件的事件代码.
窗口的AfterLoad事件代码为:
Dim
trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权","分组|权限")
For Each u As UserInfo In Users
If u.Type = UserTypeEnum.User Then
If trv2.Nodes.Contains(u.Group) = False Then
trv2.Nodes.Add(u.Group)
End If
trv2.Nodes(u.Group).Nodes.Add(u.Name)
End If
Next
Trv1.Nodes(0).Expand()
trv2.ExpandAll()
我想改为,由Users生成目录树
Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权","分组|权限","","分组 DESC")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C '如果用外部数据源指定数据源名称
cmd.CommandText = "SELECT * From {Users}" ‘Users表中有Group,Roles,Name列
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.Datarows
If dr("Group") <> "管理员" Then
If trv2.Nodes.Contains(dr("Group")) = False Then '判断是否存在指定名称的节点.
trv2.Nodes.Add(dr("Group")) '增加节点.如果增加成功,则返回所增加的节点
End If
If trv2.Nodes(dr("Group")).Contains(dr("Roles")) = False Then '判断是否存在指定名称的节点
trv2.Nodes(dr("Group")).Add(dr("Roles"))
End If
trv2.Nodes(dr("Group")).Nodes(dr("Roles")).Nodes.Add(dr("Name"))
End If
Next
Trv1.Nodes(0).Expand() '展开节点
trv2.ExpandAll() '展开节点及其子节点
问题1,红色部分的排序不起作用?
trv1.BuildTree("授权","分组|权限","","分组 DESC")
问题2,红色部分的增加节点出错?
If trv2.Nodes(dr("Group")).Contains(dr("Roles")) = False Then '判断是否存在指定名称的节点
trv2.Nodes(dr("Group")).Add(dr("Roles"))
End If
trv2.Nodes(dr("Group")).Nodes(dr("Roles")).Nodes.Add(dr("Name"))
想达到的目的是,比如
仓储部
仓储部经理
张三
仓储部职员
李四
业务部
业务部经理
王二
业务部职员
王五
目录表和表的对应关系是
仓储部(对应Group)
仓储部经理(对应Roles)
张三(对应Name)
仓储部职员(对应Roles)
李四(对应Name)
业务部(对应Group)
业务部经理(对应Roles)
王二(对应Name)
业务部职员(对应Roles)
王五(对应Name)