以文本方式查看主题

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

--  作者:筑梦踏实
--  发布时间:2015/3/18 15:30:00
--  目录树的问题
我想让两张以上的表用同一个目录树,得怎么写代码?
我试着用试例里的做了,没成功。

--  作者:有点甜
--  发布时间:2015/3/18 15:36:00
--  
 什么意思,怎么同用,请上传具体例子。
[此贴子已经被作者于2015/3/18 15:36:25编辑过]

--  作者:筑梦踏实
--  发布时间:2015/3/18 21:40:00
--  
If  MainTable.Name = "客户" Then
    Dim tb As New DropTreeBuilder
    tb.SourceTable = DataTables("行政区域") \'指定目录树表
    tb.TreeCols = "省|县市" \'指定用于生成目录树的列
    tb.SourceCols = "省|县市|区号|邮编" \'指定数据来源列
    tb.ReceiveCols = "省|县市|区号|邮编" \'指定数据接收列
    Tables("客户").Cols("省").DropTree = tb.Build()
End If

这就是哪个目录树的代码了,这个只是真对两张表的。
我的意思是,我要在五个表上做。五张表中,有二张是目录表,另三张上都要用这个目录表做为目录树。
我要是按照这个代码写进项目里,它只能实现两张表间的目录,要是实现多个,我还得整段代码复制,再复制,再复制,哪样做,我觉得不太合理。
所以我想,在同一段代码里,能不能实现二个以上的表同时用这一段代码,共用同一个目录树?

--  作者:有点甜
--  发布时间:2015/3/18 21:45:00
--  

 这样写

 

Select Case MainTable.Name
    Case "客户", "订单"
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("行政区域") \'指定目录树表
        tb.TreeCols = "省|县市" \'指定用于生成目录树的列
        tb.SourceCols = "省|县市|区号|邮编" \'指定数据来源列
        tb.ReceiveCols = "省|县市|区号|邮编" \'指定数据接收列
        MainTable.Cols("省").DropTree = tb.Build()
End Select

 


--  作者:筑梦踏实
--  发布时间:2015/3/18 22:43:00
--  
谢谢,你的代码太牛了,真对好厉害。
不过,我还有问题请教,这是所有表都用这个目录树了,哪我要是在不同的三张表上各取1个列或2个列的值,生成一个目录树,哪我得怎么写代码啊?


--  作者:有点甜
--  发布时间:2015/3/18 22:51:00
--  
以下是引用筑梦踏实在2015/3/18 22:43:00的发言:
谢谢,你的代码太牛了,真对好厉害。
不过,我还有问题请教,这是所有表都用这个目录树了,哪我要是在不同的三张表上各取1个列或2个列的值,生成一个目录树,哪我得怎么写代码啊?

 

那就得分开写。

 

Select Case MainTable.Name
    Case "客户", "订单"
        Dim tb As New DropTreeBuilder
        tb.SourceTable = DataTables("行政区域") \'指定目录树表
        Select Case MainTable.name
            Case "客户"
                tb.TreeCols = "省|县市" \'指定用于生成目录树的列
                tb.SourceCols = "省|县市|区号|邮编" \'指定数据来源列
                tb.ReceiveCols = "省|县市|区号|邮编" \'指定数据接收列
            Case "订单"
                tb.TreeCols = "省|县市" \'指定用于生成目录树的列
                tb.SourceCols = "省|县市|区号|邮编" \'指定数据来源列
                tb.ReceiveCols = "省|县市|区号|邮编" \'指定数据接收列
            Case Else
                tb.TreeCols = "省|县市" \'指定用于生成目录树的列
                tb.SourceCols = "省|县市|区号|邮编" \'指定数据来源列
                tb.ReceiveCols = "省|县市|区号|邮编" \'指定数据接收列
        End Select
        MainTable.Cols("省").DropTree = tb.Build()
End Select