欢迎来到天天文库
浏览记录
ID:5984536
大小:29.50 KB
页数:7页
时间:2017-12-30
《treeview在借书管理系统中实现和应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、TreeView在借书管理系统中实现和应用 摘要:文章介绍了树形视图控件(也称为树状浏览控件)的常用事件、常用函数及使用的具体步骤,并以借书管理系统为例,详细地介绍了树形视图的具体实现与应用。通过灵活使用树形视图控件,在PB开发中,可以使应用程序的功能更加强大,更加直观地表示数据项。关键词:PowerBuilder树型视图控件数据窗口1.引言PowerBuilder是一款优秀的企业级数据库前端应用开发工具,它提供简洁友好的用户界面、功能强大的数据窗口技术和性能优越的数据库访问能力,所以受到很多程序开发人员的喜爱,是当前流行的数据库前端开发工具之一。而在PowerB
2、uilder的众多控件之中,树形视图控件能直观地表示数据项,所以在开发各种管理系统时,经常会用到这种控件,但是这种控件使用时比较复杂,故本文在介绍树形视图的常用事件、常用函数及使用方法之后,通过具体的实例进行讲解。2.树形视图简介7如果你想显示具有层次关系的数据,那么树形视图控件是最适合的控件。它就像Windows系统中的资源管理器,通过资源管理器,可以在左边的列表中以层次结构列出驱动器、目录及子目录,而用户可以通过单击层次结构中的加号(+)、减号(-)展开或者折叠目录。要想管理大量数据,树形视图是最好的工具,因为用户只需要简单地单击鼠标左键就可以选择自己想要的数据
3、,这种表示方法使用户一目了然。在PowerBuilder中,树形视图(TreeView)和树形视图项(TreeViewItem)是树状浏览控件的两个对象。其中树型视图对象可以在窗口画笔中通过点击鼠标的方式创建,而树型视图项则必须通过编程来声明及定义它们的属性[1]。树状浏览控件的常规属性很多课本都有介绍,在此不再赘述。下面介绍它的常用事件和常用函数。2.1常用事件Constructor(构造事件):在控件创建时触发该事件,一般在构造事件里构造树视图项。Click(单击事件):单击树视图项时,执行查询程序。2.2常用函数[1]InsertItemFirst():将加入
4、项作为第一个子项;InsertItemLast():将加入项作为最后一个子项;InsertItem():将加入项放在指定的子项后面;InsertItemSort():按排序的顺序放置加入项。3.树形视图的使用步骤第一步,添加TreeView控件,设置该控件的常规属性。7第二步,编写事件处理程序为树浏览控件添加树视图项。在添加树视图项时,有两种方法:第一种方法是一次性地向树形视图控件添加全部层次的项目。第二种方法是先添加所需层次的项目,而其他项目在需要时再进行添加。(注意:要正确地运行,就必须建立数据库,设置好数据源,而且能连接数据库。通常连接数据库的代码是放在应用程
5、序里的。)4.树形视图使用实例下面以借书管理系统为例,先建立图书信息数据库,该库中包含图书信息表。图书信息表包含图书编号(bookid)、图书类型(typeid)、图书名称(title)、作者(author)等字段。该表中的每本书都对应到树中的一个节点。树形视图控件跟数据窗口控件一起使用更加能体现出数据的层次性,适用于大量数据的管理。故在此,我们新建一个应用程序book,并新建一个窗口w_tree、数据窗口dw_book和dw_tree。数据窗口dw_book的数据列为图书信息表中的所有列,数据窗口dw_tree的数据列为图书信息表中的图书编号和图书类型列。窗口w_
6、tree中包含一个树状浏览控件和一个数据窗口控件。数据窗口控件用来显示图书的信息,其dataobject=“dw_book”。为树状浏览控件设置好常规属性后,就可以编写事件程序代码了。7在树形视图控件中,树形视图项是非常重要,也是很关键的,它是在程序中逐项加入的,可以用InsertItem()系列函数中的其中一种将树形视图项加入到树形视图中。在将树形视图项加入到树形视图时,本文分别使用了三种方法:第一种方法是采用直接插入的方法加入根节点;第二种方法是采用游标插入第二层;第三种方法是通过数据存储插入第三层。下面介绍事件处理程序代码:首先,在窗口的OPEN()中添加以下
7、代码:dw_1.settransobject(sqlca)dw_1.retrieve()其次,在树控件tv_1的构造事件中添加如下代码:TreeViewItemt_node//定义树视图项目对象integerlev0,lev1,lev2,rc,i//lev0第一层,lev1第二层,rc行数,stringc_typeid,s_id,s_typeid//数据存储datastoredsds=createdatastoreds.dataobject=“dw_tree”ds.settransobject(sqlca)ds.retrieve()rc=ds.rowcount(
此文档下载收益归作者所有