以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]从导航栏开始学习权限管理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47839)

--  作者:石四
--  发布时间:2014/3/18 14:23:00
--  [讨论]从导航栏开始学习权限管理

帮助文件

关于NavBar

属性: 

Dim Bar As WinForm.NavBar
Dim
Page1 As WinForm.NavPage
Dim
Page2 As WinForm.NavPage
Bar = Forms(
"窗口1").Controls("NavBar1")
Page1 = Bar.NavPages(
"Task")
Page2 = Bar.NavPages(
0)

 

如果在窗口中添加一个导航栏NavBar1,就有现成的三个页面:任务,联系人,日历.

 

Dim Bar As WinForm.NavBar
Dim Page1 As WinForm.NavPage
Dim Page2 As WinForm.NavPage
Bar = Forms("导航").Controls("NavBar1")
Page1 = Bar.NavPages("Task")
Page2 = Bar.NavPages(0)
Bar.NavPages(2).Visible = False

 

以上代码可以隐藏页面"任务"

 

如果想增加页面"计划管理",怎么做?我在上面的代码增加

Add(计划管理, 计划管理, ButtonImageFile)

不行呢!

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:权限管理 (1).table


--  作者:Bin
--  发布时间:2014/3/18 14:26:00
--  
Bar.NavPages.Add("计划管理", "计划管理", "")

如果想有图标
Bar.NavPages.Add("计划管理", "计划管理", "图标文件路径")

--  作者:石四
--  发布时间:2014/3/18 14:33:00
--  
以下是引用Bin在2014-3-18 14:26:00的发言:
Bar.NavPages.Add("计划管理", "计划管理", "")

如果想有图标
Bar.NavPages.Add("计划管理", "计划管理", "图标文件路径")

哦,那么插入应该是:

Bar.NavPages.Insert("计划管理", "计划管理", "",1)

[此贴子已经被作者于2014-3-18 14:33:56编辑过]

--  作者:Bin
--  发布时间:2014/3/18 14:34:00
--  
插入就该用 Bar.NavPages.Insert("计划管理", "计划管理", "",1)

不再是ADD了

--  作者:石四
--  发布时间:2014/3/18 14:38:00
--  

隐藏页面还是会有空页面,占位置,最好能动态插入或删除页面.

----------------------------

看错了,隐藏不会出现空页面.

[此贴子已经被作者于2014-3-18 14:51:33编辑过]

--  作者:Bin
--  发布时间:2014/3/18 14:39:00
--  
http://www.foxtable.com/help/topics/0873.htm
--  作者:石四
--  发布时间:2014/3/19 13:58:00
--  

模仿别人的权限管理,这里控制的是NavPages和TopicPage,

 

For Each t As Table In Tables

    t.Visible = False

    For Each c As Col In t.Cols

        c.Visible = False

           Next

Next

 

 

Dim roles() As String = _userGroup.Split(",")

 

For Each role As String In roles

    Dim drs As List(Of DataRow) = DataTables("权限2").Select("可见 = \'" & role & "\' or 可见 like \'" & role & ",*\' or 可见 like \'*," & role & ",*\' Or 可见 like \'*," & role & "\'")

    For Each dr As DataRow In drs

        If dr.Isnull("NavPages") AndAlso dr.Isnull("TopicPage") Then

            For Each t As Table In Tables

                t.Visible = True

            Next

        Else If dr.isnull("TopicPage") Then

            Tables(dr("NavPages")).Visible = True

            For Each c As col In Tables(dr("NavPages")).Cols

                c.Visible = True

            Next

        Else

            Tables(dr("NavPages")).Visible = True

            For Each c As col In Tables(dr("NavPages")).Cols

                If dr("TopicPage") = c.name OrElse dr("TopicPage") Like c.name & ",*" OrElse dr("TopicPage") Like "*," & c.name & ",*" OrElse dr("TopicPage") Like "*," & c.name Then

                    c.Visible = True

                End If

            Next

        End If

Next

Next

 

但是红色字体部分不知怎么篡改,求助.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理_小例.table

[此贴子已经被作者于2014-3-19 13:59:11编辑过]

--  作者:Bin
--  发布时间:2014/3/19 14:28:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理_小例.table


--  作者:石四
--  发布时间:2014/3/19 16:44:00
--  
可以哦,不过有小小遗憾,设置导航权限后,导航栏未正常显示当前页面标题,显示NavBar1,占击一个页面后才正常.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限管理 (1).table

[此贴子已经被作者于2014-3-19 16:44:47编辑过]

--  作者:Bin
--  发布时间:2014/3/19 16:47:00
--  
这个不用纠结它也没事吧.