Foxtable(狐表)用户栏目专家坐堂 → 窗口中按钮权限设置


  共有4491人关注过本帖树形打印复制链接

主题:窗口中按钮权限设置

美女呀,离线,留言给我吧!
xiaohuli
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
窗口中按钮权限设置  发帖心情 Post By:2015/7/7 22:19:00 [只看该作者]

有一张权限表,里面有用户名,岗位名称,角色,按钮名,按钮不可用(逻辑列)等字段,然后做了一个窗口,想对窗口中的按钮进行设置权限,不同的用户登录进去打开这个窗口后,有些按钮是不可用的,有些按钮是可用的。这个该如何用代码控制权限。

eg:

权限表:

用户名  岗位名称, 按钮名称,                      按钮不可用

张三      会计专员   人事档案   考勤   生日提醒        是

像这张表所示,当张三用户登录后,打开一个窗口,该窗口上的人事档案,考勤,生日提醒等按钮都变为不可用的。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 22:23:00 [只看该作者]

 去编写afterLoad事件,查找用户名是张三、按钮不可用的行,然后取出按钮名称,然后设置

 

e.Form.Controls(名称).Enabled = False


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/7/7 22:27:00 [只看该作者]

 

[此贴子已经被作者于2015/7/7 22:41:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/7/8 20:21:00 [只看该作者]

老师,窗口中按钮的权限已经能控制了,那窗口中还有个任务栏,任务栏中的任务怎么控制权限呀,也能通过权限表来控制吗?求老师帮忙。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 20:28:00 [只看该作者]

 参考代码

 

For Each p As WinForm.TopicPage In Forms("窗口1").Controls("TopicBar1").Pages
    For Each l As WinForm.TopicLink In p.Links
        If l.Text = "任务1" Then
            p.Links("任务1").Visible = False
        End If
    Next
Next


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/7/8 21:09: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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 21:13:00 [只看该作者]

 参考6楼的代码,任务1换成你表里面的名字。


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/8/24 14:46: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
          MessageBox.show("你无权操作!")
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/24 14:55:00 [只看该作者]

窗口Click事件

 

For Each dr As DataRow In DataTables("权限表").Select("用户名 = '" & user.Name & "' and 按钮不可用 = true")
    For Each bn As String In dr("按钮名称").split(",")
        If bn = e.sender.Name Then
          MessageBox.show("你无权操作!")

          return
        End If
    Next
Next

 

'其余代码


 回到顶部
总数 22 1 2 3 下一页