以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于droptreebuilder问题 帮我看看自动填入相关列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24335)

--  作者:Fotable
--  发布时间:2012/10/11 0:29:00
--  关于droptreebuilder问题 帮我看看自动填入相关列

http://www.foxtable.com/help/topics/2031.htm

示例七

有的时候,目录树表的所有分类内容都在同一列中,如下图:

如果需要根据这一列的内容,来生成一个多层的目录树,指定目录树列的时候,应该将列名用大括号括起来:

Dim tb As New DropTreeBuilder
tb
.SourceTable = DataTables("分类") \'指定目录树表
tb
.TreeCols = "{分类}" \'指定用于生成目录树的列,用大括号括起来
tb
.ReceiveCols = "大类|二类|三类" \'指定数据接收列
tb
.PathSeparator = "|" \'指定路径分割符号
Tables(
"订单").Cols("大类").DropTree = tb.Build
()

 

我是根据帮助中 这个功能弄的

 和这个例子的区别在于,

1、我的树是根据分类和品名合并的单列后产生树

2、我的树分支长度是不等的

 下面是我产生树的商品表

 


此主题相关图片如下:2012-10-11_095042.jpg
按此在新窗口浏览图片

我的代码

Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("商品") \'指定目录树表
tb.TreeCols = "商品名称|价格" \'指定用于生成目录树的列
tb.SourceCols="商品名称|价格"
tb.ReceiveCols = "商品名称|价格" \'指定数据接收列
tb.PathSeparator = "商品名称|价格" \'指定路径分割符号
e.Table.cols("商品名称").DropTree = tb.Build()

 

 

为什么在销售表 选择下拉树后 不能自动填入价格呢?

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目4.foxdb

[此贴子已经被作者于2012-10-11 9:54:34编辑过]

--  作者:Fotable
--  发布时间:2012/10/11 9:18:00
--  
我并没有使用目录树呀,目录树 是根据商品表的数据表产生的。现在重新上传了文件,可以了
[此贴子已经被作者于2012-10-11 9:20:38编辑过]

--  作者:Fotable
--  发布时间:2012/10/11 9:25:00
--  

这是销售表中 afterloadtablesetting 事件 中产生 下拉树的代码

Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("商品") \'指定目录树表
tb.TreeCols = "{合并}" \'指定用于生成目录树的列,用大括号括起来
tb.SourceCols="商品名称|价格"
tb.ReceiveCols = "商品名称|价格" \'指定数据接收列
tb.PathSeparator = "|" \'指定路径分割符号
e.Table.cols("商品名称").DropTree = tb.Build()

 

 

我希望下拉选择后能够自动填入 商品名称 和 价格


--  作者:Fotable
--  发布时间:2012/10/11 9:44:00
--  
Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("商品") \'指定目录树表
tb.TreeCols = "商品名称|价格" \'指定用于生成目录树的列
tb.SourceCols="商品名称|价格"
tb.ReceiveCols = "商品名称|价格" \'指定数据接收列
tb.PathSeparator = "商品名称|价格" \'指定路径分割符号
e.Table.cols("商品名称").DropTree = tb.Build()
 
这是你修改了的地方,第一处修改,改变了我产生树的方法,我需要用分类,和商品名产生目录树。而不是名称和价格
第二处修改是不是更失误了?

--  作者:Fotable
--  发布时间:2012/10/11 9:47:00
--  

http://www.foxtable.com/help/topics/2031.htm

示例七

有的时候,目录树表的所有分类内容都在同一列中,如下图:

如果需要根据这一列的内容,来生成一个多层的目录树,指定目录树列的时候,应该将列名用大括号括起来:

Dim tb As New DropTreeBuilder
tb
.SourceTable = DataTables("分类") \'指定目录树表
tb
.TreeCols = "{分类}" \'指定用于生成目录树的列,用大括号括起来
tb
.ReceiveCols = "大类|二类|三类" \'指定数据接收列
tb
.PathSeparator = "|" \'指定路径分割符号
Tables(
"订单").Cols("大类").DropTree = tb.Build
()

 

我是根据帮助中 这个功能弄的

 和这个例子的区别在于,

1、我的树是根据分类和品名合并的单列后产生树

2、我的树分支长度是不等的

 下面是我产生树的商品表

 


此主题相关图片如下:2012-10-11_095042.jpg
按此在新窗口浏览图片

我的代码

Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("商品") \'指定目录树表
tb.TreeCols = "商品名称|价格" \'指定用于生成目录树的列
tb.SourceCols="商品名称|价格"
tb.ReceiveCols = "商品名称|价格" \'指定数据接收列
tb.PathSeparator = "商品名称|价格" \'指定路径分割符号
e.Table.cols("商品名称").DropTree = tb.Build()


 

[此贴子已经被作者于2012-10-11 9:52:13编辑过]

--  作者:Fotable
--  发布时间:2012/10/11 10:30:00
--  

我当然不能照抄例子,需要根据我的需要更改,我的数据表结构就是这样设计的,现在需要根据这种结构生成树呀。

droptreebuilder 是有sourcecols这个属性的,难道不能用在这里吗?帮助中也没说不能这样用


--  作者:Fotable
--  发布时间:2012/10/11 10:59:00
--  
如果说,事例7,不能使用 sourcecols属性,那就是说,事例7 中 droptree 的方法产生的树,只能用作筛选树,不能用作选择树,而且无法自动填入相关列,只能填入分类的内容。如果是这样的话,事例7的方法,在实际中用途非常少。
--  作者:狐狸爸爸
--  发布时间:2012/10/12 14:44:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb


--  作者:狐狸爸爸
--  发布时间:2012/10/13 17:05:00
--  
这个问题,已经修正,下次更新后,楼主可以直接用一楼的代码就行了。