以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何可视授权实现页面集合权限管理 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147269) |
-- 作者:lgz518 -- 发布时间:2020/3/12 23:16:00 -- 如何可视授权实现页面集合权限管理 如何可视授权实现“页面集合TabControl1)是否可见,是否可编辑的权限管理? 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 Return End If For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" ) 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 For Each c As Col In t.Cols If c.Name = dr("列名") Then c.Visible = Not dr("不可见") c.AllowEdit = Not dr("不可编辑") End If Next For Each c As Col In t.Cols If c.Name = dr("页面") Then c.Visible = Not dr("不可见") c.AllowEdit = Not dr("不可编辑") End If Next End If Next End If Next 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("列名")).Enabled = Not dr("不可编辑") e.Form.Controls(dr("页面")).ShowTabs = Not dr("不可见") \'e.Form.Controls(dr("页面")).Visible = Not dr("不可见") e.Form.Controls(dr("页面")).Enabled = Not dr("不可编辑") Next 执行不了 |
-- 作者:有点酸 -- 发布时间:2020/3/12 23:29:00 -- 道理一样的,只是页面的授权代码写在窗口的AfterLoad事件。 Dim tb As WinForm.TabControl = e.Form.Controls("TabControl1") tb.TabPages(0).Visible = False |