以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口中按钮权限设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71241) |
|
-- 作者:xiaohuli -- 发布时间:2015/7/7 22:19:00 -- 窗口中按钮权限设置 有一张权限表,里面有用户名,岗位名称,角色,按钮名,按钮不可用(逻辑列)等字段,然后做了一个窗口,想对窗口中的按钮进行设置权限,不同的用户登录进去打开这个窗口后,有些按钮是不可用的,有些按钮是可用的。这个该如何用代码控制权限。 eg: 权限表: 用户名 岗位名称, 按钮名称, 按钮不可用 张三 会计专员 人事档案 考勤 生日提醒 是 像这张表所示,当张三用户登录后,打开一个窗口,该窗口上的人事档案,考勤,生日提醒等按钮都变为不可用的。 |
|
-- 作者:大红袍 -- 发布时间:2015/7/7 22:23:00 -- 去编写afterLoad事件,查找用户名是张三、按钮不可用的行,然后取出按钮名称,然后设置
e.Form.Controls(名称).Enabled = False |
|
-- 作者:xiaohuli -- 发布时间:2015/7/7 22:27:00 --
[此贴子已经被作者于2015/7/7 22:41:28编辑过]
|
|
-- 作者:大红袍 -- 发布时间:2015/7/7 22:27:00 -- For Each dr As DataRow In DataTables("权限表").Select("用户名 = \'" & user.Name & "\' and 按钮不可用 = true") For Each bn As String In dr("按钮名称").split(",") If e.Form.Controls.Contains(bn) Then e.Form.Controls(bn).Enabled = False End If Next Next |
|
-- 作者:xiaohuli -- 发布时间:2015/7/8 20:21:00 -- 老师,窗口中按钮的权限已经能控制了,那窗口中还有个任务栏,任务栏中的任务怎么控制权限呀,也能通过权限表来控制吗?求老师帮忙。 |
|
-- 作者:大红袍 -- 发布时间:2015/7/8 20:28:00 -- 参考代码
For Each p As WinForm.TopicPage In Forms("窗口1").Controls("TopicBar1").Pages |
|
-- 作者:xiaohuli -- 发布时间:2015/7/8 21:09:00 -- 老师,能不能通过权限表来对任务栏的任务进行控制,就想控制按钮一样。
|
|
-- 作者:大红袍 -- 发布时间:2015/7/8 21:13:00 -- 参考6楼的代码,任务1换成你表里面的名字。 |
|
-- 作者:xiaohuli -- 发布时间:2015/8/24 14:46:00 -- 老师,我现在想实现当权限表中有按钮名称,并且按钮不可用打钩后,然后点击按钮的时候,按钮就不能打开,并且提示你无权操作。能不能将下面这段代码帮我改一下,也就是说当权限表中对这些按钮分配了权限,然后点击按钮的时候就判断,当前用户对当前按钮是否有操作权限。 For Each dr As DataRow In DataTables("权限表").Select("用户名 = \'" & user.Name & "\' and 按钮不可用 = true") |
|
-- 作者:大红袍 -- 发布时间:2015/8/24 14:55:00 -- 窗口Click事件
For Each dr As DataRow In DataTables("权限表").Select("用户名 = \'" & user.Name & "\' and 按钮不可用 = true") return
\'其余代码 |