以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]权限 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=168835) |
||||
-- 作者:江南小镇 -- 发布时间:2021/5/24 10:32:00 -- [求助]权限 老师好 If User.Type <> UserTypeEnum.User Then Return End If For Each dr As DataRow In DataTables("授权表").Select("(\',\' + 姓名 + \',\' like \'%," & _UserName & ",%\' or \',\' + 用户分组 + \',\' like \'%," & _Usergroup & ",%\')") If dr.IsNull("列名") Then For Each t As Table In Tables If t.DataTable.Name = dr("表名") Then t.Visible = Not dr("不可见") t.AllowEdit = Not dr("不可编辑") End If Next Else For Each t As Table In Tables If t.DataTable.Name = dr("表名") Then Dim cls() As String = dr("列名").split(",") For Each c As String In cls If t.Cols.Contains(c) Then t.Cols(c).Visible = Not dr("不可见") t.Cols(c).AllowEdit = Not dr("不可编辑") End If Next End If Next End If Next 老师,上面代码不起作用,列名不隐藏。
[此贴子已经被作者于2021/5/24 10:32:52编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/5/24 10:40:00 -- 窗口表如果是副本,注意table表名不是库存,而是窗口名称_控件名称:http://www.foxtable.com/webhelp/topics/1906.htm |
||||
-- 作者:江南小镇 -- 发布时间:2021/5/24 11:00:00 -- 老师,下面说的不理解。 [此贴子已经被作者于2021/5/24 11:00:36编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/5/24 11:05:00 -- 既然副本Table是独立的,所以它必须有自己的名称,这样才能和原Table区分开来,其名称为 : 窗口名称_控件名称 假定副本Table控件的名称为“Table1”,所在窗口的名称为“窗口1”,那么不管其绑定到哪一个表,它的名称都是“窗口1_Table1”,我们可以通过这个名称来引用它 ,例如: Tables("窗口1_Table1").Filter = "产品 = \'PD01\'" 假定此副本Table控件绑定到订单表,那么Tables("窗口1_Table1")的数据就来自于DataTables("订单"),此时DataTables("订单")对应有两个Table, 分别是作为副本的Tables("窗口1_Table1")和作为正本的Tables("订单")。 |
||||
-- 作者:江南小镇 -- 发布时间:2021/5/24 11:57:00 -- 老师,通过授权表设置后不能隐藏列名,代码在项目事件里。
|
||||
-- 作者:有点蓝 -- 发布时间:2021/5/24 13:45:00 -- _UserName是自己做用户管理才有的,内置的用户管理使用user.name:http://www.foxtable.com/webhelp/topics/0609.htm |