Foxtable(狐表)用户栏目专家坐堂 → [求助] 不让使用者编辑别人录入的内容,这段代码怎么不起作用呢?


  共有1797人关注过本帖树形打印复制链接

主题:[求助] 不让使用者编辑别人录入的内容,这段代码怎么不起作用呢?

美女呀,离线,留言给我吧!
龙潭春早
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
[求助] 不让使用者编辑别人录入的内容,这段代码怎么不起作用呢?  发帖心情 Post By: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

三、问题:使用者还是可以编辑、删除别人编辑的内容。

         感觉不应该啊!



 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By: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楼 的代码没错,但是我们实测的时候,确实能编辑、还能删除。

让另外城市的同事上网帮助测试,也是这样。

很奇怪!

我们再看一看。


 回到顶部