Foxtable(狐表)用户栏目专家坐堂 → [求助]列的权限问题


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

主题:[求助]列的权限问题

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


加好友 发短信
等级:三尾狐 帖子:682 积分:5382 威望:0 精华:0 注册:2015/1/23 0:31:00
[求助]列的权限问题  发帖心情 Post By:2017/2/20 16:23:00 [只看该作者]

请教下,一个表我只希望某个组的人只能编辑这几列,别的列不能编辑,我这样写为什么不行,用窗口加载一个table表的话权限是不是要另外写,是写在哪个事件呢
Dim lms() As String = {"费用_试样加工费","试验_检测日期"}
Dim l As DataCol
If User.Group <> "理化" AndAlso User.Type <> UserTypeEnum.Developer Then
    For Each lm As String In lms
        If l.Name = lm Then
            e.Cancel = True
        Else
            e.Cancel = False
        End If
    Next
End If

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/20 18:02:00 [只看该作者]

如果是主表和副本,直接使用这个代码没有问题。如果是sqltable,在窗口表事件中写

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


加好友 发短信
等级:三尾狐 帖子:682 积分:5382 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点蓝)如果是主表和副本,直接使用这个代码...  发帖心情 Post By:2017/2/20 18:06:00 [只看该作者]

但是我在表里面写在PrepareEdit事件后都不能编辑了,这两个列外的也没有列外了

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/20 18:11:00 [只看该作者]

Dim lms() As String = {"费用_试样加工费","试验_检测日期"}
If User.Group <> "理化" AndAlso User.Type <> UserTypeEnum.Developer Then
    If array.IndexOf(lms, e.col.Name) >= 0 Then
        e.Cancel = false
    else
        e.Cancel = true
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:682 积分:5382 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点色)Dim lms() As String = {"费用_试样...  发帖心情 Post By:2017/2/21 11:03:00 [只看该作者]

还是可以编辑,没有限制,加上msgbox调试也没有反应

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/21 11:26:00 [只看该作者]

msgbox(User.Group)
msgbox(User.Type.ToString())

弹出看看用户的信息

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5382 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点蓝)msgbox(User.Group)msgbox(User.Type...  发帖心情 Post By:2017/2/21 11:31:00 [只看该作者]

用的是开发者账号登录的,开发者没有分组,所以第一个是空的,第二个弹出Developer

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/21 11:40:00 [只看该作者]

你的逻辑有点看不懂:是“理化”的才可以编辑,还是,不是“理化”的才可以编辑,开发者能不能编辑?

 回到顶部
帅哥哟,离线,有人找我吗?
紫色幽魂
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5382 威望:0 精华:0 注册:2015/1/23 0:31:00
回复:(有点蓝)你的逻辑有点看不懂:是“理化”的才...  发帖心情 Post By:2017/2/21 11:44:00 [只看该作者]

我想的是如果分组是理化,就只能编辑这两列,别的不能编辑,但是我想开发者可以编辑全部的,所以就把开发者也加进去了,但是这样好像不对,后面再改,主要是理化只能编辑这两列,开发者现在加进去只是为了在不切换用户的时候进行测试

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/21 12:03:00 [只看该作者]

Select Case e.Col.Name
    Case "费用_试样加工费","试验_检测日期"
    Case Else
        If User.Group = "理化" AndAlso User.Type <> UserTypeEnum.Developer Then
            e.Cancel = True
        End If
End Select

 回到顶部
总数 13 1 2 下一页