以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么遍历NavBar中的按钮  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164145)

--  作者:yfy13338431925
--  发布时间:2021/4/27 16:58:00
--  怎么遍历NavBar中的按钮

蓝老师,在NavBar的每个按钮中分别加了若干个按钮,如在Page1中加了Button1,Button2,Page2中加了Button3,Button4......

在可视化授权表中,如何遍历,并能形成下拉选项?


--  作者:有点蓝
--  发布时间:2021/4/27 17:07:00
--  
例如

Dim Bar As WinForm.NavBar
Bar = Forms("窗口2").Controls("NavBar1")
For Each Page1 As WinForm.NavPage In Bar.NavPages
    Output.Show(Page1.name)
    For Each c As WinForm.Control In Page1.Children
        Output.Show(c.name)
    Next
Next

--  作者:yfy13338431925
--  发布时间:2021/4/28 11:37:00
--  

蓝老师:问题出在哪里?

Dim dt As DataTable = DataTables("项目表")
Dim dr As DataRow
Dim Bar As WinForm.NavBar
Bar = Forms("窗口1").Controls("NavBar1")
For Each Page1 As WinForm.NavPage In Bar.NavPages
    \' Output.Show(Page1.name)
    For Each c As WinForm.Control In Page1.Children
        \' Output.Show(c.name)
    Next
    dr = DataTables("项目表").Find("[导航页签名称] = \'" & e.page1.Name & "\' And [页签按钮名称] = \'" & e.c.Name & "\'")
    If dr IsNot Nothing \'一定要判断是否存在对应的行
        e.Col.ComboList = dr("项目表")
    End If
Next


--  作者:有点蓝
--  发布时间:2021/4/28 11:39:00
--  
这个代码放在哪个事件?想要做什么功能?
--  作者:yfy13338431925
--  发布时间:2021/4/28 11:47:00
--  
放到PrepareEdit,用作权限视图化管理
--  作者:有点蓝
--  发布时间:2021/4/28 12:06:00
--  
"项目表"PrepareEdit?表结构和数据发上来看看
--  作者:yfy13338431925
--  发布时间:2021/4/28 12:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.table


--  作者:有点蓝
--  发布时间:2021/4/28 13:46:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.zip



--  作者:yfy13338431925
--  发布时间:2021/4/28 14:02:00
--  
不符合在项目表通过e.Col.ComboList = dr("项目表")
下拉选择的那种想法
--  作者:有点蓝
--  发布时间:2021/4/28 14:25:00
--  
没看懂什么意思。如果要做可视化管理,肯定要预先在权限表格里先维护好窗口和控件的名称,也就是在窗口完全设计好后,把窗口和控件的名称录入到权限表里。而不是每次都打开窗口获取