在Delphi中动态生成QuickReport报表

本文介绍了一种在Delphi中根据查询结果动态生成QuickReport报表的方法。通过将参数写入临时文件,然后在运行时读取这些参数来动态创建报表控件,实现了灵活的报表生成。主要涉及TQuickRep、TQuery和临时文件操作。
摘要由CSDN通过智能技术生成

----笔者在前一段使用Delphi开发数据库的工作中,用户提出了这样一个需求:要根据自己的的查询结果动态生成报表然后进行打印。几经摸索,笔者使用动态生成QuickReport控件的方法满足了用户的需求。现将此方法说明如下,希望能为有类似工作要做的朋友们提供一点有益的提示。

 

一、基本思路

----先将查询的一些参数(如SQL命令,字段名称,字段宽度等)按照一定格式写入一个临时文件中。在生成报表时,根据临时文件中所记录的参数动态生成各种QuickReport控件即可。

 

二、程序实现

2.1临时文件格式

----临时文件的格式可以根据需要自定义,笔者采用了INI的文件格式。Delphi提供了一个TInifile类,使得在Delphi中操作INI格式文件,非常方便。关于INI文件的格式和具体操作相关的文章有不少,我这里不再赘述。临时文件格式如下:

Report.ini 

:报表细节

[rep_detail]

Title=XXXXX

:打印纸设置,1A4,2B5,316K

Page=1

:打印方式,1为横打,0为竖打

Orientation=1

:报表包含的字段数目

columns=8

 

:TQurey组件信息

[QureyData]

QuickReport组件中Tqurey组件的SQL命令的内容

Sql_command=select V_XM,V_JGZW,V_BMMC,V_DWMC,V_DWZW,V_ZY,V_ZC,V_BGDH from Hvzzjg where V_XM  LIKE '%'

 

[col_0]

Caption= 

DataFiled=V_XM

Width=60

……

……

 

2.2动态生成QuickReport报表

--- 报表的主要控件及其主要属性设置如下

控件名称

类名

属性

属性值

Form_rep

TForm

caption

动态报表

QuickRep

TQuickRep

DataSet

REP_QUERY

DetailBand1

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值