以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 可视化授权的例子 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3063) |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/8 17:42:00 -- 可视化授权的例子 可视化授权
首先我们设计一个下图所示的表,名为授权表: 如果不考虑中途切换用户,那么代码可以挪到项目事件AfterOpenProject中,下面的这一段代码可以删除:
t.Visible = True t.AllowEdit = true For Each c As Col In t.Cols c.Visible = True c.AllowEdit = True Next Next Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) If User.Type = UserTypeEnum.User Then For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" ) If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见") Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") End If Next End If
如果不考虑中途切换用户,那么下面的这一段代码可以删除:
本节的内容只是提供了一个思路,其实授权是千变万化的,没有固定的模式,大家应该根据实际需要来确定自己的授权方式。
[此贴子已经被作者于2009-6-9 8:29:15编辑过]
|
||||
-- 作者:yangming -- 发布时间:2009/6/8 17:43:00 -- 沙发,呵呵,我还想着要做一个呢,没想到贺老师做好了,我就"拿来主义"了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/8 17:44:00 -- 呵呵,早知道你要做,我就不做了。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/8 17:45:00 -- 如果不考虑中途切换用户,下面的代码可以删除: For Each t As Table In Tables t.Visible = True t.AllowEdit = true For Each c As Col In t.Cols c.Visible = True c.AllowEdit = True Next Next |
||||
-- 作者:yangming -- 发布时间:2009/6/8 17:46:00 -- 以下是引用狐狸爸爸在2009-6-8 17:44:00的发言:
呵呵,早知道你要做,我就不做了。 你几分钟,我可能要几天,还说不定要求救于你呢,呵呵 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/6/8 17:53:00 -- 以下是引用yangming在2009-6-8 17:46:00的发言:
你几分钟,我可能要几天,还说不定要求救于你呢,呵呵
|
||||
-- 作者:mr725 -- 发布时间:2009/6/8 17:53:00 -- 一猛人啊 ~~~ |
||||
-- 作者:易狐 -- 发布时间:2009/6/8 19:05:00 -- 我就不多说了,悄悄享用! |
||||
-- 作者:qianhouge -- 发布时间:2009/6/8 20:12:00 -- 以后能不能考虑将一些常用的代码归笼一下?提供给新人参考使用?? |
||||
-- 作者:kylin -- 发布时间:2009/6/8 20:22:00 -- 收下好好消化,多谢,呵呵 |