以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  用递归函数生成的树如何取得当前节点的信息  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68793)

--  作者:lzzhx
--  发布时间:2015/5/25 12:59:00
--  用递归函数生成的树如何取得当前节点的信息
请教老师:
用递归函数生成的树如何取得当前节点的信息? 用 e.node.datarow 好像无效

--  作者:Bin
--  发布时间:2015/5/25 13:40:00
--  
当是当然的,稍微想想就明白为什么了.没有赋值,怎么会有值

你可以利用FIND. 根据当前节点,也就是e.node.text  或者e.node.name 去找到对应的行


--  作者:lzzhx
--  发布时间:2015/5/25 14:25:00
--  
e.node.text  或者e.node.name 不是唯一的,如何查找啊
--  作者:Bin
--  发布时间:2015/5/25 14:27:00
--  
那就只要模拟 e.node.datarow的方法了.

每个node都有个TAG 属性.你在递归的时候 为节点赋值Tag为对应的行

例如

 nd.tag=dr

--  作者:狐狸爸爸
--  发布时间:2015/5/25 14:28:00
--  

节点的标题和名称不唯一,但是fullname或fullpath一定是唯一的,参考:

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

 

里头介绍了,不用DataRow的处理方式

[此贴子已经被作者于2015/5/25 14:28:10编辑过]

--  作者:lzzhx
--  发布时间:2015/5/25 14:32:00
--  
nd.Tag = dr("_Identify")     放在递归函数的什么地方合适啊,我放在内部函数中递归调用前,结果是有的节点nd.Tag有值,有的没有值
--  作者:大红袍
--  发布时间:2015/5/25 14:48:00
--  
以下是引用lzzhx在2015/5/25 14:32:00的发言:
nd.Tag = dr("_Identify")     放在递归函数的什么地方合适啊,我放在内部函数中递归调用前,结果是有的节点nd.Tag有值,有的没有值

 

在循环add节点的时候,就要赋值。


--  作者:lzzhx
--  发布时间:2015/5/25 14:57:00
--  
我把列子放上来,请各位老师给改一下。

目的:1.在上级机构列单击打开下拉窗口,选择上级机构后,将编号填入上级机构。

2.进一步要求: 上级机构显示是能否不显示编号而显示名称
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:递归举例.rar



--  作者:lzzhx
--  发布时间:2015/5/25 15:02:00
--  
目前的编号是以前用GenerateTree生成树是编制的,现在不用了,以后要设为唯一的
--  作者:大红袍
--  发布时间:2015/5/25 15:28:00
--  

   

                

      

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:基本项目.table