treeview 构建

lsypenghong 2008-08-05 10:50:17
表结构如下:
id parentid name
如何构建树?
...全文
109 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenryu3450 2008-08-05
  • 打赏
  • 举报
回复
先插入父节点 再插入子节点。。。
ybkenan 2008-08-05
  • 打赏
  • 举报
回复
這個問題大了點。
你用select 把 資料讀出來,向樹枝樹葉上塞不就行了。
tiggerliu 2008-08-05
  • 打赏
  • 举报
回复
先在窗口的open时间中定义

Declare Supplier_Cur Cursor for
SELECT distinct parentid FROM 表名;
Open Supplier_Cur;
Fetch Supplier_Cur Into :ls_parentid ;
Do While SQLCA.sqlcode =0
ltvi.label =ls_parentid
ltvi.data =ls_parentid
ltvi.pictureindex =1
ltvi.selectedpictureindex =4
ltvi.children =true
tv_1.insertitemlast(0, ltvi)

Fetch Supplier_Cur Into :ls_parentid ;
Loop
Close Supplier_Cur;

再在TreeView的itempopulate事件中写

if handle >0 then
this.getitem(handle, l_tvi)
if l_tvi.level <> 1 then return
ls_parentid =string(l_tvi.data)
Declare Supplydate_Cur Cursor for
select id,name FROM 表名 WHERE parentid =:ls_parentid;
Open Supplydate_Cur;
Fetch Supplydate_Cur Into :ls_id,ls_name;
Do While SQLCA.sqlcode =0
ltvi.label =ls_name
ltvi.data =ls_id
ltvi.pictureindex =2
ltvi.selectedpictureindex =3
ltvi.children =false
tv_1.insertitemlast(handle, ltvi)

Fetch Supplydate_Cur Into :ls_id,ls_name;
Loop
Close Supplydate_Cur;
end if
lsypenghong 2008-08-05
  • 打赏
  • 举报
回复
非常感谢tiggerliu
谢谢~~
tiggerliu 2008-08-05
  • 打赏
  • 举报
回复
你多了个0,把itempopulate事件中的
if l_tvi.level <> 1 then return 限制去掉
tiggerliu 2008-08-05
  • 打赏
  • 举报
回复
第2层用游标取的,不可能显示1个,多层可以加判断在itempopulate事件中继续写
lsypenghong 2008-08-05
  • 打赏
  • 举报
回复
to tiggerliu :
你的方法只能到第2层,而且第2层只显示一个。
编程夜猫 2008-08-05
  • 打赏
  • 举报
回复
看下书吧!很
lsypenghong 2008-08-05
  • 打赏
  • 举报
回复
parentid 是 materialsortid 的上级编码
比如,白酒应该在酒类下面,是酒类的下级内容。
lsypenghong 2008-08-05
  • 打赏
  • 举报
回复
Materialsort Materialsortid Materialsortjm parentid

酒类 50 JL 0
饮料类 51 YLL 0
食品类 52 SPL 0
白酒 53 BJ 50
啤酒 54 PJ 50
景阳春32 55 JYC32 53
矿泉水 58 KQS 51
哇哈哈 59 WHH 58
青啤 60 QP 54
景阳春39 61 JYC39 53
景阳春56 62 JYC56 53
lsypenghong 2008-08-05
  • 打赏
  • 举报
回复
Materialsort Materialsortid Materialsortjm Parentid
-------------------------- -------------------- -------------------- -------------------- ----酒类 50 JL 0
饮料类 51 YLL 0
食品类 52 SPL 0
白酒 53 BJ 50
啤酒 54 PJ 50
景阳春32 55 JYC32 53
矿泉水 58 KQS 51
哇哈哈 59 WHH 58
青啤 60 QP 54
景阳春39 61 JYC39 53
景阳春56 62 JYC56 53

具体表结构是这样的,还请高手给解决一下,谢谢了。。。。
AFIC 2008-08-05
  • 打赏
  • 举报
回复
LZ需要先买本书
david0927cs2006 2008-08-05
  • 打赏
  • 举报
回复
建一个dddw_XXX datawindow,然后利用datastore往treeview里添加就可以哦
jlwei888 2008-08-05
  • 打赏
  • 举报
回复
书上都有啊!
orcd 2008-08-05
  • 打赏
  • 举报
回复
从网上搜一下pb树的例子。

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧