基于PowerBuilder的复杂报表的设计与开发

基于PowerBuilder的复杂报表的设计与开发

摘要:针对复杂报表涉及项目繁琐、项目之间关系复杂、设计制作难以实现的特点,通过深入研究PowerBuilder中数据窗口(DataWindow)的属性设置,提出了利用潜套报表技术实现复杂报表的设计方法。

关键词:PowerBuilder;数据窗口;复杂报表;嵌套报表

引言

随着计算机技术的发展与普及,计算机在数据管理方面的应用已经成为计算机应用的一个重要领域,各种数据库管理信息系统在各行各业中得到了广泛的应用。报表是管理信息系统中信息输出的一种最基本、也是比较普遍采用的方式之一。在国内应用中,经常会遇到复杂报表的情况,所谓复杂报表也就是通常所说的中国式报表,这种报表一般涉及的项目较多,且项目之间的关系复杂,具有相当繁琐的表现形式,设计制作比较困难。目前,国内有些专门制作报表的软件,对实际应用中较普遍的报表样本进行设计开发,在实际应用中通过特定的属性设置就可以完成报表制作。但对于特定的复杂报表的制作开发,研究甚少。现基于实现复杂报表的需求,深入研究PB数据窗口的属性设置,提出了制作复杂报表的设计方法。

1PowerBuilder简介

PowerBuilder简称PB,是一种独立于数据库的可视化开发工具,具有合理的集成开发环境,尤其是它的数据窗口对象,是一个可视化的编辑环境,能够从多种数据源提取数据,然后以多种风格展现在用户面前,为展现数据的本质提供了丰富的手段。PB作为客户/服务器体系结构中客户端的一种面向对象的可视化设计工具,越来越广泛地应用于开发管理信息系统中。对于简单报表,利用单一数据窗口技术可直接生成,但对于复杂报表,采用此技术很难实现,需要多种技术相结合。目前有几种处理方法:直接利用数据窗口的多项报表嵌套实现输出,也可通过文件与Excel相连实现或通过DDE或OLE调用Excel实现。后两种方法在实际中确实可行,但由于Excel需与原有的MIS系统进行数据交换,给系统的开发和功能的扩展带来一定的限制,设计也相对困难,若利用数据窗口的报表嵌套实现复杂报表,不需进行数据交换,设计较容易。

2基于PB的复杂报表的实现

复杂报表设计项目多,格式复杂,采用PB提供的单一数据窗口技术往往不能实现,需要多种数据窗口技术的联合使用,采用嵌套报表技术来实现。PB数据窗口具有嵌套报表的功能。所谓嵌套报表就是以一个报表为主体框架,根据需要在其中附加一个或多个报表,形成一个整体报表。其中主体框架的报表为主报表,附加的报表为辅报表。若主报表与辅报表的信息之间存在相关,需通过某些检索参数建立联系,则通过嵌套(Nest)报表实现;若无,则可通过复合(Composite)报表实现。

潜套报表的实现主要分三步:报表信息分析;主、辅报表实现;潜套报表实现。

2.1报表信息分析。在应用PB数据窗口的嵌套报表技术时,首先需对整个报表样本设计的项目进行分析,归纳出哪些信息是主信息,哪些是辅信息,将主信息归为主报表部分,辅信息归为辅报表部分,然后对主、辅报表进行设计实现。在此主、辅信息是相对而言的。一般情况下报表中的唯一性信息划为主信息,例如年统计报表中与年有关的信息;报表中涉及多条信息的划为辅信息,例如年统计报表中与月份有关的信息。

2.2主、辅报表设计。首先在PB开发环境中新建数据窗口,选择数据源和数据窗口格式后,进入可视化数据窗口编辑环境。一般的,若有特定的数据源库表,则数据源格式多为SQLselect,设置检索参数直接统计数据;否则,可采用External格式,编写赋值脚本进行数据统计。对于主报表,其框架结构较固定,故数据窗口格式多选freedom或tabular;对于辅报表,其信息为多行数据,故数据窗口格式多采用grid。再根据主、辅报表中项目的具体位置,在可视化数据窗口编辑环境中分别对其基本框架进行设计制作。

2.3报表嵌套的实现

2.3.1利用复合风格的数据窗口实现并列嵌套。新建一个数据窗口,将数据窗口的PresentationStyle选为Composite,确定后出现嵌套报表对话框,在SelectReport标签页中选中相应的主、辅报表,然后在数据窗口编辑环境中根据固定报表格式,通过拖动鼠标对主、辅报表的相对位置进行调整。在此,主、辅报表的信息不需定义相关的检索参数,两者的内容相互独立。

2.3.2利用直接嵌套实现主次嵌套。先打开主报表数据窗口,从数据窗口下拉菜单中选中objects-Report,在主报表编辑环境中要放置辅报表的位置单击左键,出现嵌套报表对话框,选中SelectReport标签页中的辅报表,并在Arguments标签页中选择主报表检索参数,使辅报表的检索参数与主报表联系起来,使主报表和辅报表之间建立起对应关系。主、辅报表的具体位置可通过拖动鼠标进行调整,辅报表的属性修改可通过在编辑环境选中嵌套报表,单击鼠标右键,选择Propertities属性设置窗口修改。

2.3.3两种嵌套报表的主要区别。并列嵌套报表中,主、辅报表的内容相对比较独立,两者不需要通过检索参数建立相关关系;而主次嵌套报表则不同,主、辅报表的联系较密切,主次关系比较明显,需通过检索参数建立相关关系。

3龟石水库报表实例

龟石水库位于钟山县城厢镇龟石村与富川县柳家镇的交界处,是贺江支流的一座大型水库。为了统计各月水库各部门的运营情况,更好的为各级领导经营决策服务,龟石水库将需设计的月报表如图1所示。

月报表的具体实现方法:将月报表左边较规格的部分划为主信息,右边部分划为辅信息,由于划分的主报表格式比较复杂,与库表字段不对应,没有特定的数据源库表,数据源格式选External,同时分析对应的主、辅报表信息相关不大,因此选用复合报表实现嵌套。实现步骤:(1)报表分析:根据月报表中统计的项目,分析哪些信息属于主信息,哪些信息属于辅信息,将月报表划分为主、辅报表;(2)制作主、辅报表:主、辅报表设计主要考虑选择数据源类型和数据窗口格式。二者可以相同,也可不同。在制作月报表时,主、辅报表的设置相同,数据源均选择Exturnal,数据窗口格式均选择Tabular;然后进入各自的可视化数据窗口编辑环境,对项目的具体位置进行调整;(3)实现报表嵌套:通过数据窗口表现风格中的复合(Composite)报表,选择主、辅报表,再对二者的相对位置进行调整。此时月报表样本已实现,各项目栏中对应的数据输入可以通过脚本进行控制。

龟石水库设计实现的月报表输出界面如图2所示。

结语:PB数据窗口功能强大,利用嵌套报表实现复杂报表较易掌握,熟悉了数据窗口的属性设置功能即可根据实际需要设计报表,简单易行,具有较大的使用价值。

参考文献

[1]张长富,李匀等.PowerBuiler开发人员指南[M].

[2]费雅洁.利用PowerBuilder实现中国式报表的设计方法[J].沈阳电力高等专科学校学报,2003,5(2):35.

[3]邹运兰.从PowerBuilder数据窗口到Excel报表转换通用函数的实现[J].编程语言,2003,11.

[4]PowerBuikderUserr'sGuidePowersoftCorporation.1996.

标签:;  ;  ;  

基于PowerBuilder的复杂报表的设计与开发
下载Doc文档

猜你喜欢