您现在的位置: 天极网 > 开发频道 > 在Powerbuilder中实现并应用树形视图
全文

在Powerbuilder中实现并应用树形视图

2002-01-23 10:03作者:吴惠民出处:yesky责任编辑:方舟

  5.应用举例

  为了从表中选取数据,我们又定义了两个数据窗口对象dw_persons_code和dw_persons_grade,它们的检索条件分别为persons.code=:mycode和persons.grade=:mygrade,其中mycode和mygrade分别为字符串型和整型检索变量。

  在PowerBuilder的应用中,我们可建立窗口w_treeview,在此窗口中对树形视图对结点进行增加、删除、修改等操作。在w_treeview中,建立一个树形视图控件tv_1,以及三个数据窗口控件dw_1、dw_2和dw_3,其中dw_1与数据窗口对象dw_persons_code相关联,另两个数据窗口控件均与数据窗口对象dw_persons_grade相关联。另外,我们还定义了几个共享变量,其定义如下:

treeviewitem tvitem,tvitem1
long handleno
string mcode,mname

  为了在打开窗口w_treeview时即可看到树形视图,可为w_treeview窗口的open事件编写如下脚本:

long newitem, rootitem
int rowcount1, rowcount2, grade1, i, j, k
string code1, name1
connect;
dw_1.settransobject(sqlca)
dw_2.settransobject(sqlca)
dw_3.settransobject(sqlca)
dw_1.visible=false
dw_2.visible=false
dw_3.visible=false
select max(grade) into :grade1 from persons;
tv_1.setredraw(false)
select code into :code1 from persons where grade=1; file://根节点只有一个
i=dw_1.retrieve(code1)
tvitem.label="(1)"+dw_1.getitemstring(1,"code")+"/"
+dw_1.getitemstring(1,"name")
tvitem.pictureindex=1
tvitem.selectedpictureindex=1
rootitem=tv_1.insertitemlast(0,tvitem) file://建立根节点
dw_1.setitem(1,"handno",rootitem) file://存贮根节点句柄
dw_1.update()
for i=2 to grade1 step 1
dw_3.retrieve(i)
rowcount2=dw_3.rowcount()
dw_2.retrieve(i - 1)
rowcount1=dw_2.rowcount()
for j=1 to rowcount1 step 1
rootitem=dw_2.getitemnumber(j,"handno") file://取双亲节点句柄号
code1=dw_2.getitemstring(j,"code")
for k=1 to rowcount2 step 1
mcode=dw_3.getitemstring(k,"pcode")
if mcode=code1 then
name1=dw_3.getitemstring(k,"name")
tvitem.label='('+string(i)+")"+code1+'/'+name1
tvitem.pictureindex=2
tvitem.selectedpictureindex=4
newitem=tv_1.insertitemsort(rootitem,tvitem)//插入新节点
dw_3.setitem(k,"handno",newitem) file://存贮新节点的句柄号
end if
next
next
dw_3.update()
next
tv_1.setredraw(true)
rootitem=tv_1.finditem(roottreeitem!,0)
tv_1.expandall(rootitem) file://展开树形视图
tv_1.setfocus()

  在实际应用中要确定当前节点。为实现树形视图中当前节点的动态变化,树形视图控件tv_1的selectionchanged事件的脚本如下:

handleno=tv_1.finditem(currenttreeitem!,0)
tv_1.selectitem(handleno)

  树形视图构建好之后,可在w_treeview窗口中建立诸如插入、删除、修改等命令按钮,并为之编写脚本以实现相应的功能。窗口w_treeview 及其中树形视图如图1所示:


               图1 树形视图示意图

共4页。 9 7 1 2 3 4 8 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众