



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PB中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控制对象是不同的),用于生成树视图项,将其Visible项设为不可见。 4、 修改DW_4属性 General:把Datawindow object name填写一个已存在的名为DW_TS的datawindow对象,用于显示查询出的具体内容。 5、 编辑TV_1的属性 TreeView的树视图项不能直接编辑,必须在Script中编写程序。 Picture:在Picture Name中加入四个不同的图标,用于代表树视图中的两个层次(一、二级)、两种状态(未选、选中)。 General:可根据具体应用设定是否选中,其中: Delete Items:运行中是否允许删除表项。 Disable PragDrog: 运行中是否允许拖放表项。 Edit Labels: 运行中是否允许单击表项来改变表项的标题。 Show Buttons:是否在表项放显示+-按钮,有示相对的扩展和收缩。 Hide Selection:当该控件失去焦点时,选中项是否以高亮度显示。 Show Line:表项间是否加一竖线。 Lines At Root:所有根层表项是否用竖线连接。 Indentation:子表项相对于父表项的向右缩进度。 6、 编写TV_1的Script 这里是TreeView控件的关键,也是难点。 二、TreeView 控件的信息构成及创建 树视图项TreeViewItem是TreeView 控件的基本信息单位,树视图项的生成一般有二种方法,一种是先生成根层视图项,再在应用中动态生成下级视图项,另一种是把全部树视图项一次和成。两种方法各有优点,请根据具体情况选用,本例中采用后一种方法。 1、 树视图项TreeViewItem的主要属性 Label:String 型,树视图项的显示信息。 Data:Any型,树视图项的内部值。 Level:Integer型,树视图项在树视图中级别。 Children:Boolean 型,它决定该项是否有下一层(如图中书名)。 PictureIndex:Integer 型,该项非选中时所用的图标在图标队列中的编号。 SelectedPictureIndex:Integer型,该项选中时所用的图标在图标队列中的编号。 2、 生成TreeViewItem项用到的函数 InsertItemFirst():将加入项作为第一项 InsertItemLast():将加入项作为最后一项 InsertItem():将加入项插入到指定项的后面 InsertItemSort():按顺序放置。 3、 TreeView的常用事件 Constructor: 该事件在控件创建时触发,可在这里构造TreeViewItem。 Click:单击TreeViewItem项时,执行查询程序。 Double Click: 双击TreeViewItem项时,执行查询程序。 ItemPopulate 事件: 该事件在某TreeViewItem项首次展开时触发, 触发的同时系统会将 该TreeViewItem项的句柄通过参数handle 传递过来。它主要用来生成对应项的下层信息项。主要用于第一种方法。 三、 事件代码 1、树视图控件TV_1的constructor事件代码integer li_rowcount,li_rowstring li_current_dn,li_last_dn,li_current_ei,li_last_ei/声明二个树视图的实例变量treeviewitem itvi_level_one,itvi_level_two/long ii_h_l_one/long ii_h_l_twodw_3.settransobject(sqlca)/dw_3为隐含的数据窗口,存有生成树的数据li_rowcount=dw_3.retrieve()/行数dw_3.setsort(lb,pm)dw_3.sort()/生成树视图的各级树视图项for li_row=1 to li_rowcountli_current_dn=dw_3.object.lbli_row/DW_3对象中LB类别li_current_ei=dw_3.object.pmli_row/DW_3对象中PM品名if isnull (li_current_ei) thenli_current_ei=end ifif li_current_dnli_last_dn then/IF LB不与一级视图项重复/设置一级树视图项itvi_level_one.label=dw_3.object.LBli_row/视图项的显示信息itvi_level_one.level=1 /级别itvi_level_one.data=li_current_dn/视图项的内部信息itvi_level_one.pictureindex=1/没选中时所用的图标序号itvi_level_one.selectedpictureindex=3/选中时使用的图标序号itvi_level_one.children=(li_current_ei )/树视图是否有下一级ii_h_l_one=this.insertitemlast(0,itvi_level_one)/将项加入到一级树的最后一项end if/设置二级树视图项if li_current_dnli_last_ei thenif li_current_ei thenitvi_level_two.label=dw_3.object.pmli_rowitvi_level_two.level=2itvi_level_two.data=li_current_dnitvi_level_two.pictureindex=2itvi_level_two.selectedpictureindex=4itvi_level_two.data=li_current_eiitvi_level_two.children=falseii_h_l_two=this.insertitemlast(ii_h_l_one,itvi_level_two)/将项加入到二级树的最后一项end ifend ifli_last_dn=li_current_dn/设比较项li_last_ei=li_current_einext 2、tv_1控件的clicked事件代码string s1treeviewitem iithis.getitem(h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 涂料调配工综合考核试卷及答案
- 电机定子防氧化工艺考核试卷及答案
- 森林树种改良与土壤改良工艺考核试卷及答案
- 租赁业务员基础考核试卷及答案
- 2024-2025学年广东省深圳市育才三中七年级(下)开学英语试卷
- 新医科视域下口腔医学继续教育课程思政建设:现实困境与路径策略
- 药物制剂技术期末试题及答案
- 特种设备安全法及场厂内专用机动车辆使用规定知识试卷
- 绿化专业考试试题及答案
- 机械专业钳工试题及答案
- 2025年全国企业员工全面质量管理知识竞赛题库及答案(共90题)
- 2025年度融资租赁居间服务合同
- 《隐私保护技术》课件
- 花坛景观设计59课件讲解
- 大一开学新生的安全教育
- 2024天津市非全日制用工劳动合同书(官方范本)范文
- 浙江财经大学《统计学》2023-2024学年第一学期期末试卷
- 2023年度新增学位授权审核分析报告
- 医疗机构信息系统安全防护预案
- 汽车维修质量管理及质量保证期制度
- 广州数控GSK 980TDc车床CNC使用手册
评论
0/150
提交评论