Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格权限代码编写问题


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

主题:[求助]单元格权限代码编写问题

帅哥哟,离线,有人找我吗?
Cloud
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
[求助]单元格权限代码编写问题  发帖心情 Post By:2022/4/25 13:18:00 [只看该作者]

大师:

    下面这段代码写的有点长,能不能改的简单一点

If e.Col.Name = "样衣类型" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "样衣次数" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "下单日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "交货日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审批" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审批人" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审批日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审样板" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审板师" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审板日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审样衣" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审样师" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "审样日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "IE主管" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If

 

谢谢



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 13:38:00 [只看该作者]

这代码是想实现什么功能?

 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/25 14:49:00 [只看该作者]

锁定单元格编辑权限,这个是写在表事件的PrepareEdit里面的


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 15:00:00 [只看该作者]

按什么规则锁定?

 回到顶部
帅哥哟,离线,有人找我吗?
Cloud
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1328 威望:0 精华:0 注册:2016/6/21 12:27:00
  发帖心情 Post By:2022/4/25 17:18:00 [只看该作者]

If e.Col.Name = "样衣类型" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "样衣次数" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "下单日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
If e.Col.Name = "交货日期" Then '如果修改的是标注列
    If DataTables("用户表").GetComboListString("角色") <> "业务员" Then '且用户不是张经理
        e.Cancel = True '那么禁止编辑?
    End If
End If
比如:这个表有四列只能是业务员才能编辑,其他人不可以编辑,但是写这么长的代码,就是有没有可以简洁一些的写法

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 17:25:00 [只看该作者]

这种代码能够判断角色?!!用户表数据是怎么样的,角色怎么定义的,用户登录后使用什么变量保存角色的?

 回到顶部