Foxtable(狐表)用户栏目专家坐堂 → [求助] 录入窗口的权限设置


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

主题:[求助] 录入窗口的权限设置

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


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
[求助] 录入窗口的权限设置  发帖心情 Post By:2015/5/29 20:33:00 [只看该作者]

    我根据帮助文件录入窗口与权限管理中的提示,想实现根据不同用户组对窗口的录入编辑有不同权限(即管理用户可以在窗体编辑录入数据,普通用户没有编辑权限),把帮助文件这段代码:

Dim ctl As WinForm.Control = e.Sender
Select
Case ctl.BindingField
    Case
"
A.第一列", "A.第二列", "A.第三列"
        If User.Name =
"
张三" Then
            ctl.ReadOnly = BooleanEnum.False
'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True
'
禁止编辑
        End If
    Case
"
A.第四列", "A.第五列", "A.第六列"
        If User.Name =
"
李四" Then
            ctl.ReadOnly = BooleanEnum.False
'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True
'
禁止编辑
        End
If

End
Select

改写为:

Dim ctl As WinForm.Control = e.Sender
Select
 Case ctl.BindingField 
    Case 
"
表名"
        If 
_UserGroup  <> "普通用户" Then

            ctl.ReadOnly = BooleanEnum.False '允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True 
'
禁止编辑
        End If
  
End Select  

窗口的全局事件Enter事件中设置了此段代码运行,发现不起作用,任何用户都可以在窗口里编辑录入数据,不明白是否代码有改写错误,正确的代码该怎么写。



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


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/5/31 10:10:00 [只看该作者]

    根据帮助文件提示,自己反复琢磨,可以通过以下代码实现不同用户在窗体编辑数据的权限设置,但此段代码有些繁琐,哪位老师看看能否有更简洁的方法替换此段代码,给予指导,谢谢。

Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField 
    Case "职工信息.姓名", "职工信息.身份证号", "职工信息.民族", "职工信息.参加工作日期", "职工信息.所在科室", "职工信息.从事专业类别", "职工信息.医师执业证书编码", "职工信息.医师执业类别", "职工信息.医师执业范围", "职工信息.行政业务管理职务", "职工信息.学历", "职工信息.学位", "职工信息.所学专业", "职工信息.毕业院校", "职工信息.专科特长", "职工信息.本月人员流动情况", "职工信息.调入/调出时间","职工信息.备注", "职工信息.专业技术资格聘", "职工信息.政治面貌", "职工信息.入党团时间", "职工信息.籍贯", "职工信息.现有资格取得日期","职工信息.现有资格聘用日期", "职工信息.进院日期", "职工信息.聘用时间", "职工信息.专业技术资格评", "职工信息.编制情况", "职工信息.录入员", "职工信息.科室实际名称","职工信息.审核", "职工信息.审核人", "职工信息.审批日期", "职工信息.出生日期", "职工信息.工龄", "职工信息.年龄","职工信息.性别", "职工信息.资格取得时间","职工信息.院龄"
        If _UserGroup  <> "普通用户" Then
            ctl.ReadOnly = BooleanEnum.False '允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True '禁止编辑
        End If
  End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/31 10:31:00 [只看该作者]

 全表控制?

 

Dim ctl As WinForm.Control = e.Sender
If ctl.BindingField  Like "职工信息.*" Then
    If _UserGroup  <> "普通用户" Then
        ctl.ReadOnly = BooleanEnum.False '允许编辑
    Else
        ctl.ReadOnly = BooleanEnum.True '禁止编辑
    End If
End If


 回到顶部
美女呀,离线,留言给我吧!
hch
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:110 积分:1170 威望:0 精华:0 注册:2012/9/12 15:30:00
  发帖心情 Post By:2015/5/31 14:45:00 [只看该作者]

谢谢,图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
nanatu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:957 威望:0 精华:0 注册:2015/6/30 22:29:00
  发帖心情 Post By:2015/7/15 22:30:00 [只看该作者]

我想问下,如果我要控制某一列的输入人呢,代码怎么写,放在什么地方啊!尝试了很久,没成功

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/15 22:34:00 [只看该作者]

  控制表还是控制控件?

 

http://www.foxtable.com/help/topics/2255.htm

 


 回到顶部
美女呀,离线,留言给我吧!
nanatu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:957 威望:0 精华:0 注册:2015/6/30 22:29:00
  发帖心情 Post By:2015/7/15 23:23:00 [只看该作者]

控制表

 回到顶部
美女呀,离线,留言给我吧!
nanatu
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:957 威望:0 精华:0 注册:2015/6/30 22:29:00
  发帖心情 Post By:2015/7/15 23:28:00 [只看该作者]

用户登录是自定义的,用户名都在外部数据源中,我在项目以及表中都针对用户做了权限设置,结果都没成功啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 0:09:00 [只看该作者]

  看6楼的帮助,user.name改成_UserName

 回到顶部
美女呀,离线,留言给我吧!
nanatu
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:133 积分:957 威望:0 精华:0 注册:2015/6/30 22:29:00
  发帖心情 Post By:2015/7/16 0:12:00 [只看该作者]

窗口中关联的表也这样控制吗

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