以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  目录树管理表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121014)

--  作者:13775189031
--  发布时间:2018/6/27 16:21:00
--  目录树管理表
请教:
用目录树管理表,按教程做了个窗口进行表分类,但发现有一个问题
就是授权表里设置了某些人不可见的表,在表分类窗口中点击是可以打开的!
该如何处理,在表分类窗口里也不能打开不可见的表,或者直接在表分类里就不可见这些表?

--  作者:有点甜
--  发布时间:2018/6/27 16:37:00
--  

目录树管理表的功能你如何做的?

 

生成目录树的时候你是写代码还是怎么设置处理的?


--  作者:13775189031
--  发布时间:2018/6/27 16:49:00
--  

按教程里做的——用目录树管理表


要实现这样的功能很简单,设计步骤:

1、新建一个窗口,窗口类型设置为共享,停靠区域设置为左。

2、在窗口增加一个TreeView控件,停靠属性设置为Fill。

3、窗口的AfterLoad事件代码设置为:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
nd As WinForm.TreeNode
nd = Trv.Nodes.Add(
"分类1","分类1")
nd.Nodes.Add(
"表A")
nd.Nodes.Add(
"表B")
nd.Nodes.Add(
"表C")
nd = Trv.Nodes.Add(
"分类2","分类2")
nd.Nodes.Add(
"表D")
nd.Nodes.Add(
"表E")

4、TreeView控件的NodeMouseClick事件代码设置为:

If e.Node.Level = 1 Then
MainTable
= Tables(e.Node.Text)
End
If


--  作者:有点甜
--  发布时间:2018/6/27 17:11:00
--  


Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = Trv.Nodes.Add("分类1","分类1")
nd.Nodes.Add("表A")
nd.Nodes.Add("表B")
nd.Nodes.Add("表C")
nd = Trv.Nodes.Add("分类2","分类2")
nd.Nodes.Add("表D")
nd.Nodes.Add("表E")

For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\' and  列名 is null and 不可见=true" )
    For Each cnd As WinForm.TreeNode In trv.allnodes
        If cnd.name = dr("表名") Then
            cnd.delete
            exit for
        end if
    next
Next


--  作者:13775189031
--  发布时间:2018/6/28 15:47:00
--  
ok!谢谢!