Foxtable(狐表)用户栏目专家坐堂 → 录入窗口与权限管理


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

主题:录入窗口与权限管理

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
录入窗口与权限管理  发帖心情 Post By:2021/3/29 10:07:00 [显示全部帖子]

窗口中有一个表, 需要限制编辑, 列很多,只有个别列需要限制, 如果写简短的代码:
窗口中ENTER事件代码如下:
Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case"产品列表.产品ID","产品列表.销售产品ID","产品列表.类别","产品列表.品牌","产品列表.产品型号","产品列表.产品图号","产品列表.产品名称","产品列表.缺省供应商","产品列表.产品材料","产品列表.产品规格","产品列表.外径","产品列表.内径","产品列表.高度","产品列表.产品规格1","产品列表.单位","产品列表.单位数量","产品列表.库存","产品列表.备注","产品列表.单重KGS","产品列表.参考代号","产品列表.参考价格","产品列表.初始库存","产品列表.入库数量(入库_数量)","产品列表.入库金额(入库_金额)","产品列表.出库数量(出库_数量)","产品列表.出库金额(出库_金额)","产品列表.库存数量(库存_数量)","产品列表.库存单价(库存_单价)","产品列表.库存金额(库存_金额)","产品列表.产品图片","产品列表.外径1","产品列表.内径1","产品列表.高度1","产品列表.产品尺寸","产品列表.产品BH","产品列表.产品编号","产品列表.辅助编号","产品列表.原始图纸","产品列表.产品IDD","产品列表.临时列","产品列表.世源图号",
        If User.Name = "开发者" Then
            ctl.ReadOnly = BooleanEnum.False '允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True '禁止编辑
        End If
        If User.Name = "yan" Then
            ctl.ReadOnly = BooleanEnum.False '允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True '禁止编辑
        End If
End Select
提示错误:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210329100627错误.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 15:16:00 [显示全部帖子]

怎么不起作用?是在窗口中放入了一个表,不是控件,代码也这样写吗?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 15:25:00 [显示全部帖子]

需要限制的列再放到Case里, 这个是什么意思?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 16:13:00 [显示全部帖子]

限制窗口表里单元格的编辑:
PrepareEdit事件代码如下:
Select Case User.Name
    Case "wuzhou","js01","seyon01"
        Select Case e.Col.Name
            Case "产品ID","销售产品ID","类别","品牌","产品型号","产品图号","产品名称","缺省供应商","产品材料","产品规格","外径","内径","高度","产品规格1","单位","单位数量","库存","备注","单重KGS","参考代号","参考价格","初始库存","入库数量(入库_数量)","入库金额(入库_金额)","出库数量(出库_数量)","出库金额(出库_金额)","库存数量(库存_数量)","库存单价(库存_单价)","库存金额(库存_金额)","产品图片","外径1","内径1","高度1","产品尺寸","产品BH","产品编号","辅助编号","原始图纸","产品IDD","临时列","世源图号",
                e.Cancel = True
        End Select
End Select
也没起作用

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 16:32:00 [显示全部帖子]

登录系统,如何看出是哪个用户登录的呢?

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 16:57:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210329165437授权.png
图片点击可在新窗口打开查看


授权A为何没成功? 代码和帮助里的相同!

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = true
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑") 
        End If
    Next
End If

[此贴子已经被作者于2021/3/29 17:03:44编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/29 18:30:00 [显示全部帖子]

那么如何排查呀?
另外在窗口的afterload加入
For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "' And 表名 = '" & e.form.Name & "'")
    e.Form.controls(dr("表名")).Visible = Not dr("不可见")
    e.Form.controls(dr("表名")).AllowEdit = Not dr("不可编辑")
Next
不可见测试可以
但是不可编辑不行哦,还是可以编辑

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


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2021/3/30 8:55:00 [显示全部帖子]

没有

 回到顶部