Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口角色权限


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

主题:[求助]窗口角色权限

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]窗口角色权限  发帖心情 Post By:2017/6/16 17:32:00 [只看该作者]

Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case "增值税fa piao开piao登记.合同编号","增值税fa piao开piao登记.申请日期","增值税fa piao开piao登记.外经证开piao日期"
        If User.IsRole("开piao录入") Then
            ctl.ReadOnly = BooleanEnum.False '允许编辑
        Else
            MessageBox.show("你不能修改该记录!")
            ctl.ReadOnly = BooleanEnum.True '禁止编辑
        End If
End Select

原已审批的记录已锁定,在窗口全局事件Enter中加入上面代码后,只要是角色为“开piao录入”的用户可以更改已锁定的记录数据。我的目的是如果已审批锁定的行任何用户不能修改,除非取消锁定。请老师指教一下。谢谢!

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


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

Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case "增值税fa piao开piao登记.合同编号","增值税fa piao开piao登记.申请日期","增值税fa piao开piao登记.外经证开piao日期"
        If User.IsRole("开piao录入") Then
            ctl.ReadOnly = BooleanEnum.False '允许编辑
            Tables("增值税fa piao开piao登记").Current("合同编号").locked = False
        Else
            MessageBox.show("你不能修改该记录!")
            ctl.ReadOnly = BooleanEnum.True '禁止编辑
        End If
End Select
 
你在leave事件,记得重新locked一下。

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/6/17 13:48:00 [只看该作者]

谢谢!
你在leave事件,记得重新locked一下。
这个代码应该怎么写?
谢谢!我做了半天没做出来,我是菜鸟啊
是不是每一列都要写代码?
[此贴子已经被作者于2017/6/17 13:53:15编辑过]

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


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

leave事件

Tables("增值税fa piao开piao登记").Current("合同编号").locked = true

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


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/6/17 17:20:00 [只看该作者]

谢谢!已解决。
Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case "增值税fa piao开piao登记.合同编号","增值税fa piao开piao登记.申请日期","增值税fa piao开piao登记.外经证开piao日期"
        If User.IsRole("开piao录入") Then
            If Tables("增值税fa piao开piao登记").Current("审批") = False
                ctl.ReadOnly = BooleanEnum.False '允许编辑
            Else
                MessageBox.show("你不能修改该记录!")
                ctl.ReadOnly = BooleanEnum.True '禁止编辑
            End If
        End If
End Select

请帮我再看一下,总觉得少了点什么?谢谢!

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


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

请用2楼代码 

 回到顶部