Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树形式授权如何控制菜单


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

主题:[求助]目录树形式授权如何控制菜单

帅哥哟,离线,有人找我吗?
sunbrain
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
[求助]目录树形式授权如何控制菜单  发帖心情 Post By:2012/10/26 21:53:00 [只看该作者]

一直没有弄明白目录树授权如何控制权限,先做个简单的,没有想到也很困难,

我是这样做的,

1.直接采用casestudy中的案例文件;

2.制作了菜单,菜单控制各个窗口;

3.在菜单的loadusersetting中,这样写

 

Dim cpcy As Boolean = Functions.Execute("ShouQuan","产品板块","查阅")

RibbonTabs("业务区").Groups("产品板块").Items("产品查阅").Enabled = cpcy

 

意思是当这个用户登录的时候判断,有没有产品板块查阅的权限,如果有那么cpcy变量为true,那么就可以查阅

 

但是我这样写,设置成功的第一次可以,之后无论如何怎么打开却没有丝毫反映,是哪里有问题呢?

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树形式的菜单授权.table


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/10/26 22:13:00 [只看该作者]

RibbonTabs("业务区").Groups("产品板块").Items("产品查阅").Enabled =false  '先锁定

if  Functions.Execute("ShouQuan","产品板块","查阅") then  '如果有这个权限

     RibbonTabs("业务区").Groups("产品板块").Items("产品查阅").Enabled = true   '解开锁定

end if

[此贴子已经被作者于2012-10-26 22:13:08编辑过]

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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/26 22:24:00 [只看该作者]

嘿嘿,果然凑效!

我在想为什么帮助文件中就差那么一小步呢?


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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/26 23:23:00 [只看该作者]

布莱克朱:您这样做有点不行的,例如一个功能区,有二十几个items,而对于用户张三,只需要一个item可用,这样的话,我岂不是要先锁定好多个item吗?

这样做的效率,我感觉好低啊,有没有效率更高的办法呢?

 

 

 

原来的方法,有可能会造成这样的情况

RibbonTabs("业务区").Groups("产品板块").Items("产品查阅1").Enabled =false  '先锁定

RibbonTabs("业务区").Groups("产品板块").Items("产品查阅2").Enabled =false  '先锁定

RibbonTabs("业务区").Groups("产品板块").Items("产品查阅3").Enabled =false  '先锁定

。。。。。。

。。。。。。

然后只开放一个权限,


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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/26 23:41:00 [只看该作者]

Dim cgjh As Boolean = Functions.Execute("ShouQuan","产品板块","采购进货")
Dim jhcx As Boolean = Functions.Execute("ShouQuan","产品板块","进货查询")


 
If cgjh Then
    RibbonTabs("产品板块").Groups("采购管理").Items("采购管理").Enabled = True
Else
RibbonTabs("产品板块").Groups("采购管理").Items("采购管理").Enabled = False

End If
If jhcx Then
    RibbonTabs("产品板块").Groups("查询统计").Items("产品查询").Enabled=True

Else
RibbonTabs("产品板块").Groups("查询统计").Items("产品查询").Enabled=False
End If

 

为什么这样写,在目录树中已经选中,意味着是有权限的,为什么item还是灰色的呢?

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:123.jpg
图片点击可在新窗口打开查看

 

显示的结果

 

 


图片点击可在新窗口打开查看此主题相关图片如下:321.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-10-26 23:53:22编辑过]

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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/26 23:58:00 [只看该作者]

我测试了几遍了,感觉哪个shouquan的内部函数似乎没有启动一样

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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/10/27 0:31:00 [只看该作者]

弄了几个小时,也没有弄明白啊

不知道是不是自定义用户管理和那个授权的函数不匹配?


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/27 7:28:00 [只看该作者]

以下是引用sunbrain在2012-10-26 22:24:00的发言:

嘿嘿,果然凑效!

我在想为什么帮助文件中就差那么一小步呢?

 

  呵呵,帮助的写法都是这样的  只是你没有理解.


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/10/27 7:31:00 [只看该作者]

控件可以遍历锁定  根据权限一一解开.

 

 

也不一定非要学帮助里面的授权例子  我只看中老大的目录树的那个使用方法,权限是自己另外写的?


 回到顶部