以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于使用者的权限 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72834) |
-- 作者:wymoonwalker -- 发布时间:2015/8/7 10:05:00 -- 关于使用者的权限 请教专家,我有一个项目,由不同的人编辑并对他们设置了权限只能看见自己录入的行,其中表中“图片”列是图片列,上传资料用。 现在增加了一个“过路者”用户,只能浏览不能做任何修改。但是现在想对“图片”列中已上传的资料可以下载。 请问代码该如何修改? If User.Name = "过路者" Then For Each t As Table In Tables t.AllowEdit = False Next End If |
-- 作者:大红袍 -- 发布时间:2015/8/7 10:11:00 -- ftp列的权限不好控制。
你单独做一个浏览图片和下载图片的窗口吧,加入PictureViewer控件,控制其按钮的显示即可。
http://www.foxtable.com/help/topics/2286.htm
|
-- 作者:wymoonwalker -- 发布时间:2015/8/7 10:20:00 -- 太难了。我不做ftp列具体的权限控制了。这个过路者用户可以编辑(删除或下载或上传)ftp列,只是无法编辑其他所有列的内容呢? |
-- 作者:大红袍 -- 发布时间:2015/8/7 10:27:00 -- 1、AfterOpenProject事件
For Each dt As DataTable In DataTables
2、全局表事件,PrepareEdit
http://www.foxtable.com/help/topics/0671.htm If User.Name = "过路者" Then If e.Col.DataCol.ExtendType <> ExtendTypeEnum.Files AndAlso e.Col.DataCol.ExtendType <> ExtendTypeEnum.Images Then e.cancel = True End If End If
[此贴子已经被作者于2015/8/7 10:26:56编辑过]
|
-- 作者:wymoonwalker -- 发布时间:2015/8/7 14:00:00 -- 谢谢红袍! 代码试验后可以应用但发现一个问题。 因我这个项目有多个表,而只有这一个表A有图片列需要编辑,其他表用"过路者"登陆后都是锁定状态。项目过路者用户登陆后,首先是一个登陆图片,此时直接点击表A,那么图片列可编辑。点击其他表,显示锁定状态。再点击表A,依然是全表锁定状态,全部列都不能编辑。 此时切换其他用户,也同样是项目全部表锁定状态。除非关掉重新登录,才正常。 这种现象是否正常?
|
-- 作者:大红袍 -- 发布时间:2015/8/7 14:06:00 -- 1楼的代码,你要去掉才行 |
-- 作者:大红袍 -- 发布时间:2015/8/7 14:07:00 -- 如果只有一个表需要,就在那个表的PrepareEdit写代码即可。不需要开启全局表事件。 If User.Name = "过路者" Then If e.Col.Name = "图片" Then e.cancel = True End If End If
[此贴子已经被作者于2015/8/7 14:07:07编辑过]
|
-- 作者:wymoonwalker -- 发布时间:2015/8/7 14:31:00 -- 如果去掉一楼的代码,其他表的锁定设置是否需要在每个表的表属性中重新编码? |
-- 作者:大红袍 -- 发布时间:2015/8/7 14:33:00 -- 单独解锁一个表
If User.Name = "过路者" Then For Each t As Table In Tables If t.Name <> "表A" Then t.AllowEdit = False End If Next End If |