以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口可见与授权 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93802) |
-- 作者:desk6789 -- 发布时间:2016/12/7 14:28:00 -- 窗口可见与授权 在主窗口中用到页面集合,怎么对特定用户授权页面可见?? |
-- 作者:有点蓝 -- 发布时间:2016/12/7 14:36:00 -- 参考:http://www.foxtable.com/webhelp/scr/0836.htm afterload事件 If User.Name <> "张经理" Then
Dim pg As WinForm.TabPage pg = Forms("窗口1").Controls("TabControl1").TabPages(1) pg.Visible = False End If |
-- 作者:desk6789 -- 发布时间:2016/12/8 10:30:00 -- 如果设置为多部门不能看见页面集合中的某一Tabpages怎么写代码,但是要让开发者和管理员可以看见 |
-- 作者:有点色 -- 发布时间:2016/12/8 11:34:00 -- If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator Then Else Forms("窗口1").Controls("TabControl1").TabPages(1).Visible = False |
-- 作者:desk6789 -- 发布时间:2016/12/8 12:24:00 -- 哪里有问题? If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator OrElse User.group = "财务部" OrElse User.group = "总经办" Then Forms("主窗口").Controls("管理模块").TabPages(3).Visible = True \'Else If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator OrElse User.group = "销售部" OrElse User.group = "客服部" OrElse User.group = "贷后部" OrElse User.group = "总经办" Then \' Forms("主窗口").Controls("管理模块").TabPages(0).Visible = True \'Else If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator OrElse User.group = "人事部" OrElse User.group = "总经办" Then \' Forms("主窗口").Controls("管理模块").TabPages(1).Visible = True \'Else If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator OrElse User.group = "行政部" OrElse User.group = "总经办" Then \' Forms("主窗口").Controls("管理模块").TabPages(2).Visible = True Else \' Forms("主窗口").Controls("管理模块").TabPages(0).Visible = False \' Forms("主窗口").Controls("管理模块").TabPages(1).Visible = False \' Forms("主窗口").Controls("管理模块").TabPages(2).Visible = False Forms("主窗口").Controls("管理模块").TabPages(3).Visible = False End If
|
-- 作者:有点蓝 -- 发布时间:2016/12/8 12:37:00 -- 代码写在哪里?提示什么错误? |
-- 作者:desk6789 -- 发布时间:2016/12/8 14:36:00 -- 写在主窗口的afterload里了,现在用个最原始的代码 If User.group = "财务部" Then Forms("主窗口").Controls("管理模块").TabPages(0).Visible = False Forms("主窗口").Controls("管理模块").TabPages(1).Visible = False Forms("主窗口").Controls("管理模块").TabPages(2).Visible = False End If If User.group = "销售部" OrElse User.group = "客服部" OrElse User.group = "贷后部" Then Forms("主窗口").Controls("管理模块").TabPages(3).Visible = False Forms("主窗口").Controls("管理模块").TabPages(1).Visible = False Forms("主窗口").Controls("管理模块").TabPages(2).Visible = False End If If User.group = "人事部" Then Forms("主窗口").Controls("管理模块").TabPages(0).Visible = False Forms("主窗口").Controls("管理模块").TabPages(3).Visible = False Forms("主窗口").Controls("管理模块").TabPages(2).Visible = False End If If User.group = "行政部" Then Forms("主窗口").Controls("管理模块").TabPages(0).Visible = False Forms("主窗口").Controls("管理模块").TabPages(3).Visible = False Forms("主窗口").Controls("管理模块").TabPages(1).Visible = False End If |
-- 作者:desk6789 -- 发布时间:2016/12/8 14:37:00 -- 怎么简化??? |
-- 作者:有点蓝 -- 发布时间:2016/12/8 15:12:00 -- Dim tab As WinForm.TabControl = Forms("主窗口").Controls("管理模块") If not(If User.Type = UserTypeEnum.Developer OrElse User.Type = UserTypeEnum.Administrator) Then For Each page As WinForm.TabPage In tab.TabPages page.Visible = False Next Dim idx As Integer = -1 Select Case Case "财务部" idx = 3 Case "销售部" , "客服部" , "贷后部" idx = 0 Case "人事部" idx = 1 Case "行政部" idx = 2 End Select tab.TabPages(idx).Visible = True End If
|