以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  子表项目ID和主表项目ID相同,如何设置子表目录树只能选择与主表项目名称相同的内容  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=105065)

--  作者:chengjingliang
--  发布时间:2017/8/10 19:18:00
--  子表项目ID和主表项目ID相同,如何设置子表目录树只能选择与主表项目名称相同的内容
子表项目ID和主表项目ID相同,如何设置子表目录树只能选择与主表项目名称相同的内容,如:在选择完成明细表单位工程目录树时,首先要选择项目名称,如果设置该目录树项目名称与统计表项目名称列锁定,就只能选主表工程名称的选项
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算170731-2测试.rar


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170810190420.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/8/10 23:40:00
--  

动态生成目录树,设置其条件 TreeFilter 即可

 

http://www.foxtable.com/webhelp/scr/2031.htm

 


--  作者:chengjingliang
--  发布时间:2017/8/11 9:03:00
--  
TreeFilter="项目名称=&清单.项目名称&",这样好像不行,前面是子表的项目名称,后面是主表的项目名称,如何调整?

\'清单明细目录树
Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("清单明细") \'指定目录树表
 TreeFilter="项目名称=&清单.项目名称&"
tb.TreeCols = "工料一类|工料二类|工料名称" \'指定用于生成目录树的列
tb.SourceCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" \'指定数据来源列
tb.ReceiveCols = "工料一类|工料二类|工料名称|工料单位|工料ID|工料计划价" \'指定数据接收列
Tables("清单").Cols("项目名称").DropTree = tb.Build()


--  作者:有点甜
--  发布时间:2017/8/11 9:44:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算.table


--  作者:chengjingliang
--  发布时间:2017/8/11 16:27:00
--  
我按照此方法做出了,遇到一个问题,提示

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170811162341.jpg
图片点击可在新窗口打开查看



\'库明细表工料一类列目录树主表绑定项目ID
If e.IsFocusCell AndAlso e.Col.name = "工料一类" Then
    Dim tb As New DropTreeBuilder
    tb.SourceTable = DataTables("工料单价") \'指定目录树表
    tb.TreeFilter="项目id=\'" & e.Row("项目id") & "\'"
    tb.TreeCols = "工料一类|工料二类|工料名称" \'指定用于生成目录树的列
    tb.SourceCols = "工料一类|工料二类|工料名称|工料单位|工料ID " \'指定数据来源列
    tb.ReceiveCols = "工料一类|工料二类|工料名称|工料单位|工料ID " \'指定数据接收列
    e.Col.DropTree = tb.Build()
End If

--  作者:有点甜
--  发布时间:2017/8/11 16:48:00
--  

 

出现那样的提示,说明你 【工料单价】 表没有 【工料ID】 列。

 


--  作者:chengjingliang
--  发布时间:2017/8/11 16:56:00
--  
工料单价表内有工料ID,在清单明细表、工料明细表内都可以实现功能,在库存明细表内就弹出
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算170811-2.rar


--  作者:有点甜
--  发布时间:2017/8/11 17:25:00
--  
你给的项目没有表【库存明细】,无法测试。
--  作者:chengjingliang
--  发布时间:2017/8/11 17:55:00
--  
出入库子表库明细
--  作者:有点甜
--  发布时间:2017/8/11 18:08:00
--  

多了空格

 

If e.IsFocusCell AndAlso e.Col.name = "工料一类" Then
    Dim tb As New DropTreeBuilder
    tb.SourceTable = DataTables("工料单价") \'指定目录树表
    tb.TreeFilter="项目id=\'" & e.Row("项目id") & "\'"
    tb.TreeCols = "工料一类|工料二类|工料名称" \'指定用于生成目录树的列
    tb.SourceCols = "工料一类|工料二类|工料名称|工料单位|工料ID" \'指定数据来源列
    tb.ReceiveCols = "工料一类|工料二类|工料名称|工料单位|工料ID" \'指定数据接收列
    e.Col.DropTree = tb.Build()
End If