



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PB中TreeView控件使用技巧PB中TreeView控件使用技巧PB中TreeView控件使用技巧PowerBuilder中的TreeView控件为树状游览,类似于WINDOW的资源管理器,其特点是信息项呈树状层次结构,能更清晰地表现主、细目关系,操作非常方便。在应用中可将其与DataWi ndow配合使用,一个提供信息的分类体系,一个提供具体信息,达到珠连碧合的奇妙效果。它特别适用于多级信息的分类检索,是多级菜单所无法比似的,它的表现形式深受程序设计人员和广大用户的喜爱,在许多应用软件中都能看到她的英姿。在PowerBuilder下,TreeView 控件的应用较其它控件要复杂得多,刚接
2、触它时往往有些不知所措。但如果将它的机理搞清楚,掌握它也不是很难的事。下面我结合长白公司图书分类检索的实例,把TreeView 控 件的使用方法和大家探讨一下。一、应用TreeView控件的一般步骤1、建立一个应用,并设好与数据库的接口,这是操作数据库的前提。2、 在应用中建一应用窗口W_1,在其上加入二个名为dw_3和dw_4的datawindow控制对象和一个名为TV_1的TreeView对象。3、修改DW_3属性General:把 Datawindow object name填写一个已存在的名为DW_date 的 datawindow(注意:它与datawindow控制对象是不同的),用
3、于生成树视图项,将其Visible 项设为不可见。4、修改DW_4属性Ge neral:把Datawi ndow object name填写一个已存在的名为DW_TS勺datawi ndow 对象,用于显示查询岀的具体内容。5、编辑TV_1的属性TreeView的树视图项不能直接编辑,必须在 Script中编写程序。Picture :在Picture Name 中加入四个不同的图标 ,用于代表树视图中的两个层次(一、二级)、两种状态(未选、选中)。Ge neral:可根据具体应用设定是否选中,其中:Delete Items:运行中是否允许删除表项。Disable PragDrog:运行中是否允
4、许拖放表项。Edit Labels:运行中是否允许单击表项来改变表项的标题。Show Butto ns:是否在表项放显示 +-按钮,有示相对的扩展和收缩。Hide Selectio n:当该控件失去焦点时,选中项是否以高亮度显示。Show Lin e:表项间是否加一竖线。Lines At Root:所有根层表项是否用竖线连接。Inden tatio n:子表项相对于父表项的向右缩进度。6、 编写 TV_1 的 Script这里是TreeView控件的关键,也是难点。二、TreeView控件的信息构成及创建树视图项TreeViewItem 是TreeView 控件的基本信息单位, 树视图项的生成
5、一般有二种方法, 一种是先生成根层视图项,再在应用中动态生成下级视图项,另一种是把全部树视图项一次和成。两种方法各有优点,请根据具体情况选用,本例中采用后一种方法。1、树视图项TreeViewItem 的主要属性Label : String型,树视图项的显示信息。Data : Any型,树视图项的内部值。Level : Integer型,树视图项在树视图中级别。Children : Boolean型,它决定该项是否有下一层(如图中书名)。Picture In dex : In teger 型,该项非选中时所用的图标在图标队列中的编号。SelectedPictureIndex: Integer型
6、,该项选中时所用的图标在图标队列中的编号。2、生成TreeViewItem项用到的函数In sertltemFirst():将加入项作为第一项In sertItemLast():将加入项作为最后一项In sertItem():将加入项插入到指定项的后面In sertItemSort():按顺序放置。3、TreeView 的常用事件Con structor:该事件在控件创建时触发,可在这里构造TreeViewItemClick: 单击TreeViewltem 项时,执行查询程序。Double Click:双击TreeViewltem项时,执行查询程序。ItemPopulate 事件:该事件在某T
7、reeViewltem 项首次展开时触发,触发的同时系统会将该TreeViewItem 项的句柄通过参数handle传递过来。它主要用来生成对应项的下层信息项。主要用于第一种方法。三、事件代码1、树视图控件 TV_1的constructor 事件代码 wanqi 1999628in teger li_rowcou nt,li_rowstring li_current_dn,li_last_dn,li_current_ei,li_last_ei/声明二个树视图的实例变量treeviewitem itvi_level_ on e,itvi_level_twol ong ii_h_l _onel o
8、ng ii_h_twodw_3.settra nsobject(sqlca)/dw_3为隐含的数据窗口,存有生成树的数据li_rowcou nt=dw_3.retrieve()行数dw_3.setsort("lb,pm")dw_3.sort()/生成树视图的各级树视图项for li_row=1 to li_rowcou ntli_curre nt_dn=dw_3.object .l bli_row/DW_3对象中"LB类别“li_curre nt_ei=dw_3.object.pmli_row/DW_3对象中"PM品名“if is null (li_cu
9、rre nt_ei) the nli_curre nt_ei=""end ifif li_curre nt_dn< >li_last_d n the n/IF LB不与一级视图项重复/设置一级树视图项itvi_level_ on e.l abel=dw_3.object. LBli_row/视图项的显示信息itvi_level_o ne.level=1 /级别itvi_level_ on e.data=li_curre nt_dn/视图项的内部信息itvi_level_ on e.picturei ndex=1/没选中时所用的图标序号itvi_level_ on
10、 e.selectedpicturei ndex=3/选中时使用的图标序号itvi_level_ on e.childre n=(li_curre nt_ei< >'')/树视图是否有下一级ii_h_l_ on e=this.i nsertitemlast(O,itvi_level_ one)/将项加入到一级树的最后一项end if/设置二级树视图项if li_curre nt_dn< >li_last_ei the nif li_curre nt_ei<>' ' the n itvi_level_two.label=dw_3
11、.object.pmli_row itvi_level_tw o.l evel=2 itvi_level_two.data=li_curre nt_dn itvi_level_two.picturei ndex=2 itvi_level_two.selectedpicturei ndex=4 itvi_level_two.data=li_curre nt_ei itvi_level_two.childre n=false ii_h_l_two=this.i nsertitemlast (ii_h_l_ on e,itvi_level_two)/将项加入到二级树的最后一项end ifend ifli_last_d n=li_curre nt_dn /设比较项liast_ei=li_curre nt_ei n ext2、tv_1控件的clicked事件代码stri ng s1 treeviewitem ii this.getitem(ha ndle,ii) s1=stri ng(ii .l abel)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度厨师餐饮行业厨艺大赛组织合同
- 2025年度股东协议补充协议:针对公司分立、合并后的股权处理
- 二零二五年度数字经济干股股份合作协议
- 第二单元第四节《视频声音显效果-插入音视频超链接》教学设计 2023-2024学年西交大版(2014)初中信息技术七年级下册
- 二零二五年度全球供应链风险管理合作协议
- 二零二五年度智能化停车服务车位租赁协议
- 2025年度时尚品牌店铺经营合伙协议书
- 2025年鹤壁职业技术学院单招职业倾向性测试题库汇编
- 《移动网络规划与优化》课件 项目三 移动网络规划 任务1 了解无线网络规划
- 第三单元 第四课 草原人家(第2课时 现代化牧场)教学设计-人教版历史与社会七年级上册
- 无痛病房管理课件
- 让孩子变成学习的天使——由《第56号教室的奇迹》读书分享
- 球泡检验标准
- 公安笔录模板之询问嫌疑人(书面传唤治安案件)
- 振动分析基础讲义1
- 记账凭证汇总表excel模板
- 邓丽君经典歌曲30首简谱(共33页)
- 故障诊断技术的国内外发展现状(共3页)
- 园林绿化施工通用表格模板
- 初中《生物》(人教版)实验目录表
- 人民检察院信访案件终结办法
评论
0/150
提交评论