以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]可视化授权不稳定,求解 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83184) |
-- 作者:36792209 -- 发布时间:2016/4/2 14:31: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 Tables("授权表").Visible = (User.Type <> UserTypeEnum.User ) If User.Type <> UserTypeEnum.User Then Return End If For Each dr As DataRow In DataTables("授权表").Select("\',\' + 用户名 + \',\' like \'%," & User.Name & ",%\'" ) If dr.IsNull("列名") Then Tables(dr("表名")).Visible = Not dr("不可见") Tables(dr("表名")).AllowEdit = Not dr("不可编辑") Else Dim nms() As String = dr("列名").Split(",") For Each nm As String In nms Tables(dr("表名")).Cols(nm).Visible = Not dr("不可见") Tables(dr("表名")).Cols(nm).AllowEdit = Not dr("不可编辑") Next End If Next 我的表都是窗口下的Table,用户是外部数据库,用了上面代码,进入软件后,只勾选表,不勾选列,部分表照样可以编辑, 现在我把列都勾选上了,权限就生效了。 这是什么情况啊。
[此贴子已经被作者于2016/4/2 14:59:52编辑过]
|
-- 作者:Hyphen -- 发布时间:2016/4/2 15:34:00 -- 设置的是Tables,其它窗口副本表不会受影响,试试加上 DataTables(dr("表名")).AllowEdit = Not dr("不可编辑") |
-- 作者:36792209 -- 发布时间:2016/4/2 16:21:00 -- 谢谢,我去试试 |