基于powerbuilder设计实现通用动态报表系统

基于powerbuilder设计实现通用动态报表系统

ID:34134248

大小:262.57 KB

页数:4页

时间:2019-03-03

基于powerbuilder设计实现通用动态报表系统_第1页
基于powerbuilder设计实现通用动态报表系统_第2页
基于powerbuilder设计实现通用动态报表系统_第3页
基于powerbuilder设计实现通用动态报表系统_第4页
资源描述:

《基于powerbuilder设计实现通用动态报表系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第27卷第2期唐山师范学院学报2005年3月Vol.27No.2JournalofTangshanTeachersCollegeMar.2005基于PowerBuilder设计实现通用动态报表系统孙玉荣(中南林学院理学院,湖南株洲412006)摘要:通过对报表的分析,提出了新的动态报表生成技术,即由用户定义整张报表的报表格式、标题和小结区域、数据区域三部分,然后动态生成报表,有效地降低了用户自定义生成报表的难度。关键词:动态报表;数据窗口;管理信息系统中图分类号:TP311.138文献标识码:B文章编号:1009-9115(2005)02-

2、0075-041引言管理信息系统的研发过程中,报表处理能力是衡量系统性能的重要部分。而报表会因用户需求改变呈现动态变化的特征,主要体现在:(1)现有报表的不确定性,表现为表体格式,字段的增删,单元格内容等的不确定性。(2)新报表的增加与原有报表的删除等。如果设计系统时考虑这种动态特征,在运行时用户就可以提供根据工作需要和实际情况的变化,修改或定制个人风格的报表,从而减少了因需求变化而导致的维护工作量,使用户满意。2基本思路通常在设计报表时,采用两种方法:一是对每一报表提供一个数据源。该方法弊端:数据冗余大,报表格式、内容或报表种类发生变化时

3、,需对数据源维护,系统的通用性、适应性差;二是用户定义报表的格式和数据来源,由程序生成报表,[1][2]程序通用性较强,但对用户要求较高,由用户选定数据来源表,选择输出字段等。通过对报表结构详细分析,我们将报表结构分成三部分:表体结构、标题和注脚部分及表体单元格内容,即btjgk、bbbtk、btsjk等(表1-表3),为便于用户填列单元格中的数据,把MIS报表单元格涉及的公式放入表jslsjb(表4)中,存放用户输入的计算公式,运行时根据用户设置得到表1-表3的内容,再利用动态数据窗口技术实现报表的动态制作。2.1表体结构分析表1btjg

4、k(存放报表列结构)表2bbbtk(存放报表的标题与脚注)字段名称字段类型备注字段名称字段类型备注bbmcchar报表名称bbmcchar报表名称scbtchar上层标题zbtchar主标题dcbtchar底层标题zfbtchar左副标题sjlxchar数据类型zhfbtchar中副标题lkdNumeric列宽度yfbtchar右副标题sfscbool是否输出jzchar脚注表1-3通过bbmc字段建立联系,表3的实际列数由表1的有效行数决定。2.2报表处理系统的功能2.2.1报表结构维护包括原报表修改与删除、新报表创建。对报表结构维护时要

5、注意保持数据在表1-3中的一致性。2.2.2报表的生成与输出根据表1-表3的内容使用动态数据窗口技术生成报表,输出。3设计与实现限于篇幅本文对新增报表部分及报表打印输出部分进行讨论。──────────收稿日期:2004-11-16作者简介:孙玉荣(1969-),女,新疆伊犁人,中南林学院理学院硕士。-75-第27卷第2期唐山师范学院学报2005年第2期表3btsjk(单元格数据采集)表4:jslsjb(获取单元格数据)字段名称字段类型备注字段名称字段类型备注bbmcchar报表名称jsgschar单元格数据计算公式lm1char报表列1j

6、sgshzxschar公式对应的中文显示lm2char报表列2lm3char报表列3…char…lm18char报表列18lm19char报表列193.1新增报表数据采集图13.1.1建立如图1所示的窗口对象三个数据窗口控件,用于新增报表的数据采集,dw_1(与d_btjgk关联),dw_2(与d_bbbtk关联),dw_3(与d_btsjk关联),其中dw_3中字段名列对象的编辑风格为下拉数据窗口,子窗口数据源为jslsjb;一个单选按钮组,用于选定定义的内容;四个命令按钮,插入记录、记录删除按钮用于向相关的datawindow窗口插入记

7、录或删除当前记录,保存按钮可将采集到的用户数据保存到表1-表3中,返回按钮用于返回程序主窗口。3.1.2典型脚本介绍(1)设置dw_3的对象为不可见,根据dw_2的内容确定dw_3的实际显示列数,动态生成单元格数据采集窗口格式。单元格数据采集定义单选钮cliked脚本:flags=falsefori=1todw_2.rowcount()ifdw_2.object.data[i,3]=""thenflags=truedw_2.scrolltorow(i)messagebox("注意","栏目底层标题没有定义,请检查并补填上")rb_1.che

8、cked=true-76-孙玉荣:基于PowerBuilder设计实现通用动态报表系统exitendifnext//动态生成数据采集窗口格式ifnotflagsthendw_3.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。