当前位置: 代码迷 >> PB >> 求 PB 递归构建Tree函数及详细步骤,该怎么解决
  详细解决方案

求 PB 递归构建Tree函数及详细步骤,该怎么解决

热度:72   发布时间:2016-04-29 08:32:10.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动态创建树和菜单


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