-- 作者:lgj716330
-- 发布时间:2018/5/10 16:27:00
-- [求助]目录树形式的授权
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()
照抄的,出现以下错误,什么原因呢。内部数据源
此主题相关图片如下:qq图片20180510162625.png

[此贴子已经被作者于2018/5/10 16:27:14编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/5/10 16:42:00
--
这样测试
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
msgbox(u.group)
If u.Group > "" 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 End If Next
msgbox(trv1.nodes.count) Trv1.Nodes(0).Expand() trv2.ExpandAll()
|
-- 作者:lgj716330
-- 发布时间:2018/5/10 22:17:00
--
以下为窗口AfterLoad代码
Dim tp1 As WinForm.TopicPage
tp1 = Forms("目录窗口").Controls("TopicBar1").Pages("页面1") if Functions.Execute("ShouQuan","财务人员","系统管理") Then tp1.Visible = True Else tp1.Visible = False End If
此主题相关图片如下:qq图片20180510221332.png

当用权限表的用户登录时提示以下错误,这是什么原因呢
此主题相关图片如下:qq图片20180510221006.png

|
-- 作者:有点甜
-- 发布时间:2018/5/10 22:22:00
--
改代码
If User.Type <> UserTypeEnum.User Then \' 如果是开发者或者管理员 Return True \'则具备所有权限 End If Dim dt As DataTable = DataTables("授权") Dim dr As DataRow If Args(1) = "" Then \'首先判断分组的授权用户是否包括此用户或此用户所属的分组 dr = dt.Find("分组 = \'" & args(0) & "\' And 权限 Is Null" ) If dr Is Nothing Then MessageBox.show("不存在名为""" & args(0) & "分组!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return False End If If dr.IsNull("用户") = False Then Dim nms() As String = dr("用户").Split(",") For Each nm As String In nms If nm = User.Group OrElse nm = User.Name Then \'如果授权用户包括登录用户所属的分组或其用户名 Return True \'返回True End If Next End If Return False End If \'然后判断权限的授权用户是否包括此用户或此用户所属的分组
dr = dt.Find("分组 = \'" & args(0) & "\' And 权限 = \'" & args(1) & "\'") If dr Is Nothing Then MessageBox.show("不存在名为""" & args(1) & "权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return False End If If dr.IsNull("用户") = False Then Dim nms() As String = dr("用户").Split(",") For Each nm As String In nms If nm = User.Group OrElse nm = User.Name Then \'如果授权用户包括登录用户所属的分组或其用户名 Return True \'返回True End If Next End If Return False
|