以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 不让使用者编辑别人录入的内容,这段代码怎么不起作用呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128775) |
|
-- 作者:龙潭春早 -- 发布时间:2018/12/14 18:42:00 -- [求助] 不让使用者编辑别人录入的内容,这段代码怎么不起作用呢? 一、任务:除了开发者,不允许使用者编辑别人录入的内容 二、在StartEdit事件中,加上代码: If User.Type <> UserTypeEnum.Developer Then If e.Table.Cols.Contains("录入者") AndAlso User.Name <> e.Row("录入者") Then \'如果使用者不是录入者 e.Cancel = True \'那么不允许编辑当前行 Else e.Cancel = False \' 允许编辑当前行 End If 三、问题:使用者还是可以编辑、删除别人编辑的内容。 感觉不应该啊! |
|
-- 作者:y2287958 -- 发布时间:2018/12/14 19:25:00 -- If User.Type <> UserTypeEnum.Developer Then e.Cancel = True \'那么不允许编辑当前行 End If
|
|
-- 作者:有点蓝 -- 发布时间:2018/12/14 20:51:00 -- 1楼代码编辑肯定是不可以的,测试没有问题。至于删除行要到BeforeDeleteDataRow事件控制 |
|
-- 作者:bashanren -- 发布时间:2018/12/14 21:30:00 -- 请问有点蓝老师,如何将自定义的users表中的某个人,如“张三”这个普通用户变为UserTypeEnum用户?谢谢!! |
|
-- 作者:龙潭春早 -- 发布时间:2018/12/14 21:32:00 -- 1、嗯 删除行是在 BeforeDeleteDataRow 里设置的,使用正常。 这样的:
If User.Type <> UserTypeEnum.Developer Then If e.DataTable.DataCols.Contains("录入者") AndAlso User.Name <> e.DataRow("录入者") e.Cancel = True \'那么不允许编辑 End If End If 2、我们也觉得 1楼 的代码没错,但是我们实测的时候,确实能编辑、还能删除。 让另外城市的同事上网帮助测试,也是这样。 很奇怪! 我们再看一看。 |
|
-- 作者:有点蓝 -- 发布时间:2018/12/14 22:07:00 -- 上传具体实例测试 |
|
-- 作者:bashanren -- 发布时间:2018/12/14 22:09:00 --
|
|
-- 作者:有点蓝 -- 发布时间:2018/12/14 22:17:00 -- 以下是引用bashanren在2018/12/14 22:09:00的发言:
没看懂您的意思。另外自己的问题请尽量新建贴提问
|