以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  单位工程目录树表点击后是空白,点击右键列属性,修改目录树系统死掉  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=110462)

--  作者:chengjingliang
--  发布时间:2017/12/3 20:49:00
--  单位工程目录树表点击后是空白,点击右键列属性,修改目录树系统死掉
单位工程目录树表点击后是空白,点击右键列属性,修改目录树系统死掉,什么原因?
选择项目名称为:连平县生活垃圾无害化,点击进度计划子表,新增一行,在单位工程中点击目录树表后是空白,点击右键列属性,修改目录树系统死掉,什么原因?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本测算 - 171129 - 副本.rar


图片点击可在新窗口打开查看此主题相关图片如下:hetchh@meso7s}255%xt0u.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:(whr3$sudg$rkc`j_2lll@p.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/12/3 23:09:00
--  

不要在prepareEdit事件,写生成目录树的代码。生成目录树的代码,可以写到currentTableChanged等等其它事件去。


--  作者:chengjingliang
--  发布时间:2017/12/6 22:19:00
--  
不同的项目有不同的单位工程,这个代码只是为了绑定同一个项目,只显示这个项目的单位工程
\'完成明细表单位工程列目录树主表绑定项目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

下面这个才是在CurrentTableChanged里写的目录树代码


If CurrentTable.Name Like "*完成明细*" Then
    Dim tb As New DropTreeBuilder
    tb.SourceTable = DataTables("清单") \'指定目录树表
    tb.TreeCols = "单位工程|清单名称" \'指定用于生成目录树的列
    tb.SourceCols = "单位工程|清单号|清单名称|单位|单价|清单ID" \'指定数据来源列
    tb.ReceiveCols = "单位工程|清单号|清单名称|单位|单价|清单ID" \'指定数据接收列
    CurrentTable.Cols("单位工程").DropTree = tb.Build()
End If

如何将二者结合在一起呢?


--  作者:有点甜
--  发布时间:2017/12/6 22:25:00
--  
那你可以在比如click事件、currentChanged、startEdit等事件写代码,不要在prepareEdit事件写。
--  作者:chengjingliang
--  发布时间:2017/12/6 23:14:00
--  
在startEdit等事件写代码,不能绑定项目ID,只显示本项目的工料一类,如何修改?


\'\'库明细表工料一类列目录树主表绑定项目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/12/6 23:21:49编辑过]

--  作者:有点甜
--  发布时间:2017/12/7 8:46:00
--  
那可以写到click事件去。
--  作者:chengjingliang
--  发布时间:2017/12/7 11:24:00
--  
还是不行哦
--  作者:有点甜
--  发布时间:2017/12/7 11:36:00
--  
以下是引用chengjingliang在2017/12/7 11:24:00的发言:
还是不行哦

 

1、代码肯定没问题;

 

2、如果显示空白,说明你表名写错、或者是对应的表没有符合条件的数据;

 

3、如果不会处理,实例发上来测试。


--  作者:chengjingliang
--  发布时间:2017/12/8 16:03:00
--  
出入库表的图木舒克项目,在子表库明细规格内,可以选只限于该种材料的规格,如果换个位置编写代码就显示所有材料的所有规格
--  作者:有点甜
--  发布时间:2017/12/8 16:17:00
--  
以下是引用chengjingliang在2017/12/8 16:03:00的发言:
出入库表的图木舒克项目,在子表库明细规格内,可以选只限于该种材料的规格,如果换个位置编写代码就显示所有材料的所有规格

 

上传对应实例说明。