如何快速自动生成并定制报表

在各种管理信息系统应用中,需要产生大量的报表,通常的做法是由编程人员一个个手工制作,工作效率较低;另外,用户希望能够将在应用程序里查询得到的结果生成报表以便打印。为了解决以上两种问题,本文利用动态生成技术实现了快速自动产生报表,允许用户手工对报表进行修饰,并将实现过程封装成一个类。

1.设计思路

使用过C++ Builder或Delphi的编程人员知道,有一个TDBGrid控件,它能以表格的形式显示和操作用户查询的数据记录;而要制作一个可供打印的报表,则需要使用TQuickRep控件,在它上面增加TQRLabel、TQRDBText、TQRShape等控件,设置它们对应的数据集、数据字段等属性,然后编排它们的位置,以表格或其它格式显示出来供预览和打印,这是一个很繁琐的过程。有时,用户希望能将查询出来的显示在TDBGrid控件的数据打印出来,按照以往的做法,就需要由编程人员按照TDBGrid的显示内容手工设计报表。在这里,本文利用动态生成技术,读出TDBGrid的有关显示信息,在TQuickRep控件里动态生成相应的TQRLabel、TQRDBText、TQRShape等控件,设置各字段的标题和数据以及表格分割条。这是完全可行的,因为在C++ Builder里所有的控件都可以由程序动态生成,不仅仅是在设计阶段才产生的。另外,如果用户对产生的报表表格布局不太满意,本文提供了接口使用户可对报表进行手工调整,调整表格的高度、宽度等布局,实现用户对报表的一定程度的定制。

利用C++的封装性特点,将自动产生并定制报表的实现封装成一个新类TGridPrint,对外提供编程人员关心的公用接口,屏蔽了内部信息和具体实现,体现了面向对象的设计思想,为编程人员带来方便。编程人员还可以在它基础上进一步扩充功能。这样设计的新类减轻了编程人员的工作量,同时为用户提供了定制报表的接口,提高了报表的质量和用户参与的积极性。

时间: 2025-01-21 09:43:13

如何快速自动生成并定制报表的相关文章

使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法_java

MyBatis简介: MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 相关阅读:MyBatis入门学习教程(一)-MyBatis快速入门 使用过Mybatis的同学都知道,针对每一个项目中使用到的数据库表都需要建

急求软件公司定制报告自动生成软件

问题描述 各位大侠们好,公司需要定制一个检测报告自动化的软件平台,由我负责调研,如有意者(一定是软件公司,非个人)请先回复,必联系. 解决方案 解决方案二:如有意者,请给我联系:15622784867.可发信息,必回.解决方案三:需求,需求,需求,需求,需求,需求,需求,需求,需求,解决方案四:=======================================================.NET快速开发整合框架(RDIFramework.NET),基于.NET的快速开发.整合框架

10款经典快速设计网页的自动生成工具

随着许多优秀的网页http://www.aliyun.com/zixun/aggregation/6993.html">设计工具和大量资源的出现,今天网页设计比起十年前要简便得多.本文收集了28款可以帮助你快速设计网页的自动生成工具,包括了logo,banner生成器,域名推荐. 1. Lorem Ipsum Generator 文本排版生成器 2. Stripe Generator 条纹背景 3. Mycoolbutton 按钮生成器

my eclipse中怎么做出一个类似个人简历的报表,以及怎么自动生成页码日期

问题描述 my eclipse中怎么做出一个类似个人简历的报表,以及怎么自动生成页码日期 想做一个报表,可以打印成类似成绩单那样的报表,要自动生成页码和日期 解决方案 三个办法,一个是用poi库,产生word excel文档:或者用itext产生pdf文档 第二个办法, 调用报表库,比如水晶报表之类的 第三,用html直接产生文档输出 解决方案二: 简单的做成网页版的,.然后打印网页.

前端的小玩意(9.4)——做一个仿360工具箱的web页面(自动生成所有图标,对图标添加响应逻辑)

DEMO网址: http://jianwangsan.cn/toolbox (四)制作JSON,自动将图标填充进所有工具 首先是JSON,因为工具很多,所以JSON内容很长. 具体而言,JSON是一个数组中的对象(只有这一个对象),他有两个属性:BigImg和CommonImg. 这两个属性都是数组类型: BigImg里面,他用于存放最上面的三个大图标: CommonImg里面,存放其他工具图标. BigImg单个数组元素的结构如下: [javascript] view plain copy  

看实例学VFP:向数据表中添加记录时自动生成编号

本例在"看实例学VFP:向数据表中添加记录并验证输入数据是否合法"的基础上进行了改进,实现了在添加记录时不仅能够完成对输入数据的校验,还具有自动生成编号的功能.自动生成编号的相关代码加在表单的init事件及"添加"按钮的click中,在表单第一次启动或添加完记录后都会调用此段代码,实现自动生成编号的功能.运行界面如下: 本例用到了"数据1"数据库中的"网站信息表",关于该数据库的情况已经在看实例学VFP:示例数据库一文中给出,

word如何自动生成目录

在编辑文档的时候,目录有时是必不可少的一项,但在实际情况当中,很多使用者不知道怎样使用word中的目录自动生成的功能,而是自己在首页手动编制,结果常常因为后面格式或者字体的调整,使得目录与正文出现差距.因此用下面的方法能简单的生动生成: 步骤方法 下面就来介绍一下如何利用word自动生成目录并动态更新.这里介绍两种方法: 一.利用大纲级别自动生成目录 如果要插入目录,请单击"插入"菜单,指向"引用"→"索引和目录",出现"索引和目录&q

WPS表格功能——自动生成人民币大写

对于很多财务人员来说,每天与表格打交道是最平常不过的事了情,各种报表,各种数据,各种计算,复杂而且繁琐.孙小姐算得上"表格一族"老成员,对于表格操作不敢说百事通,也算得上是达人,今天她要向财务的同胞介绍一个平时常会用到的WPS表格功能--自动生成人民币大写. 开支票.写工资单通常要把数值转换为人民币大写格式.若Excel通过设置公式的方法会十分麻烦.用WPS表格来转换只需选择要修改的文本,工具栏上找到格式按钮,并选择单元格格式. 图1 电脑教程 在出现弹窗中数字选项卡中选择"

【两项业界最佳】普林斯顿新算法自动生成高性能神经网络,同时超高效压缩

神经网络的结构对其性能有极其重要的影响.目前主流的神经网络结构搜索法仍然是试凑法,该方法存在三大问题: 训练过程中神经网络结构是固定的,训练并不能改善结构 时间和计算消耗巨大 生成的网络通常很冗余,计算和存储成本过高 为了解决以上问题,普林斯顿大学研究人员仿照人类大脑的学习过程,提出了一种自动生成神经网络的算法.该算法从一个种子结构(seed architecture)开始,这个种子结构类似于初生婴儿的大脑. 在训练过程中,先根据反向传播算法获得的梯度(gradient),连接和生长(grow)