以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树形式授权如何控制菜单  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24934)

--  作者:sunbrain
--  发布时间: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


--  作者:布莱克朱
--  发布时间: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
--  发布时间:2012/10/26 22:24:00
--  

嘿嘿,果然凑效!

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


--  作者:sunbrain
--  发布时间: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
--  发布时间: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
--  发布时间:2012/10/26 23:58:00
--  
我测试了几遍了,感觉哪个shouquan的内部函数似乎没有启动一样
--  作者:sunbrain
--  发布时间:2012/10/27 0:31:00
--  

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

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


--  作者:blackzhu
--  发布时间:2012/10/27 7:28:00
--  
以下是引用sunbrain在2012-10-26 22:24:00的发言:

嘿嘿,果然凑效!

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

 

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


--  作者:blackzhu
--  发布时间:2012/10/27 7:31:00
--  

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

 

 

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