以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  目录树的代码转换为实际的名称  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76529)

--  作者:kaituozhe
--  发布时间:2015/10/31 11:12:00
--  目录树的代码转换为实际的名称

我在销售预算主表中设置部门编号及职员编号,还设计了部门档案及职员档案,以下的代码是显示出来的是编号,如果不在销售预算主表设置部门名称及职员姓名,能够使用代码让以下目录中显示部门名称及职员姓名

1、将窗口的AfterLoad事件设为:

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("销售预算主表", "发生日期|部门编号|职员编号", "", "发生日期 DESC")
tv.Nodes.Insert("显示所有行",0)

2、将目录树的NodeMouseDoubleClick事件设为:

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[发生日期] = \'" & dr("发生日期") & "\'"
        Case 1
            Filter = "[发生日期] = \'" & dr("发生日期") & "\' And [部门编号] = \'" & dr("部门编号") & "\'"
        Case 2
            Filter = "[发生日期] = \'" & dr("发生日期") & "\' And [部门编号] = \'" & dr("部门编号") & "\' And [职员编号] = \'" & dr("职员编号") & "\'"
    End Select
End If
Tables("销售预算主表").Filter = Filter


--  作者:Hyphen
--  发布时间:2015/10/31 11:35:00
--  

一是使用查询表,合并多个表的字段,生成目录树

 

或者参考在目录树显示额外信息http://www.foxtable.com/help/topics/2742.htm