当前位置: 代码迷 >> PB >> 求 PB 递归构建Tree函数及详细方法
  详细解决方案

求 PB 递归构建Tree函数及详细方法

热度:96   发布时间:2016-04-29 07:42:20.0
求 PB 递归构建Tree函数及详细步骤
父节点字段 temp_item_id, 子节点字段 item_id     (BOM结构表)不限多层次
           010020                   Y1.0008
           010031                   010020
           010031                   A1.2001
           07C031                   07A009
           07A009                   Y1.0007
           07C031                   07A011
           07C032                   07A010

tv_1  的根节点标签 为BOM,在open构建生成成功后  为了实现刷新  用deleteItem(0)后 调用同样函数从数据库从新检索
 生成新的树结构

[email protected]  这是我的邮箱。179299180  qq,困扰多日,个人感觉 主要原因是本人初学、不熟悉treeview控件。
  
  
------解决方案--------------------
pb 基类对象(pb6 源码)http://d.download.csdn.net/down/974023/msgtogcr

基类树视图控件 u_tv_base v2009-01-16 1. 自动装入数据到树视图控件(适用于 id, parentid 形式的树结构)
基类数据窗口 u_dw_base v2008-12-29 1. 数据块复制和块粘贴,可与 Excel 兼容(修正了数据含有 tab 符,双引号时存在的问题)
------解决方案--------------------
思路:
1,建 DW 对象,以父节点关键字数据为参数,检索指定父节点的子项,选择的列包括TV节点所需要的数据,包括是否有了项等。

2,写类似这样的函数 uf_tree_redraw(string as_parent, long al_phandle):
a.函数具备两个参数,父节点关键字和父节点已经插入在TV中的handle 
b.函数完成的功能有建 datastore lds_tmp,选择第1步中的DW 对象做dataobject,检索;
  判断as_parent 是否根节点,如果是,则 tv.delitem(0);
  以lds_tmp.rowcount() 做循环,循环在 al_phandle 下插入子节点,并用变量装载插入的子节点的handle,插入的时候检查该新节点是否有子项,若有,则递归调用 uf_tree_redraw(string as_parent, long al_phandle) 即可。

------解决方案--------------------
pb8动态创建树和菜单
[img=http://album.hi.csdn.net/app_uploads/liubocy/20081117/021309093.p.jpg?d=20081117021615546][/img]

http://download.csdn.net/source/781489
  相关解决方案