`

delphi QuickReport

阅读更多
报表控件简介
2009-03-16 11:23

在本讲中为大家介绍报表组件Qreport和统计组件Decision Cube,并讲一下BDE的DBI函数使用。
一、QReport 报表组件
已经讲过,QReport 组件不是很好用,不过如果您的要求不高还是使用它吧。QReport 组件的用途就是从数据集中读出数据生成报表。Qreport是一组组件,共有23个组件,只能简单介绍,让大家有个了解,知道这些组件有何用途,若要运用自如的话则需下功夫研究,也没有深入研究过。
1 QuickRep组件。QuickRep组件是QReport 组件中最核心的一个组件,其它组件几乎都是为它服务的,此组件放置在窗体上之后就是一个报表的形状,而且充满了整个窗体。它的DataSet属性指明主报表从哪个数据集如Table或 Query等获取数据。当窗体中放置数据集组件后,单击此属性后的输入框会出现一个下拉列表,从中选择即可。Bands属性是比较重要的一个属性,它包括六个子项属性用来指明是否打印列标题是否为每个记录打印明细边、是否在每页的底部打印页脚、是否在页的头部打印页头、是否打印总结边条、是否在报表的开始处打印报表标题PrintSettings属性可以控制打印份数、分页打印、打印的起始页、终止页、输出方式等。它的许多属性都可以通过“Report Setting”对话框来完成方法是双击QuickRep组件,就会出现图设定对话框。这个对话框有一个“Preview”(预览)功能,用户可随时观察报表外观。它的ExportToFilter方法可以把报表输出到指定的外部文件中,如:MyReport.ExportToFilter(TQRASCIIExportFilter.Create(‘报表1.TXT’); Print方法用来打印一个报表。PrinterSetup方法将会调出打印对话框,允许用户选择打印机,打印份数等一些设定。和PrinterSettings属性完成的功能类似。只对当前的报表对象有效,在预览窗口调用。
2 QRSubDetail组件。一般用来在主/明细表类型的报表中显示明细表的数据DataSet属性用于指明QRSubDetail组件从哪个数据集获得数据,在主/明细表类型的报表中,设置为对应的明细表数据表。     Master属性指向主表数据集连接的边(Band),一般是一个QuickRep组件。如果创建的是主/明细类型的报表,此属性指向第一个QuickRep组件QRBand组件。是比较重要的部件,但一般情况下用户不必去从QReport组件组中去手工添加它,因为当用户设置QuickRep、QRSubDetail等组件的Bands下子属性值为True时,将自动创建QRBand组件。

3 QRBand组件。是比较重要的部件,但一般情况下用户不必去从QReport组件组中去手工添加它,因为当用户设置QuickRep、QRSubDetail等组件的Bands下子属性值为True时,将自动创建QRBand组件。

4 QRStringsBand组件。QRStringsBand只是简单地用来显示字符串,它不从数据集中取数据,而是用TString取字符串。

5 QRChildBand组件。此组件用来创建与另一个边相联系的边条。一般不显式地放置此组件,可以用对某个Band设置其HasChild属性为True就可自动生成一个QRChildBand。它一般用来对某个边做进一步的信息显示。
6 QRGroup组件。QRGroup组件用来在一个报表内创建组,组主要用在主/明细类型的报表中,也可在简单的列表类型报表中使用。
7 QRLable组件。用来显示文本,它类似于Lable 组件,一般用于对字段进行说明等。
8 QRDBText组件。和DBText组件一样,主要用来显示数据库中的字段内容。其主要属性是DataSet(指明数据集)、DataField(指明和哪个字段连接) QRDBText组件还有一个属性是AutoStretch,此属性决定了是否在垂直方向上进行扩展。若一个字段的内容较多,AutoStretch 属性设定为True,可保证显示全部内容,但太多的内容导致QRDBText垂直扩展很多,可能会打破页的限制。

9 QRExpr组件。QRExpr组件主要用来进行计算。比如在Detail Band后用来统计记录个数、记录中某个字段求和、求平均值等。QRExpr最重要的属性是Expression。双击其后的省略号可打开Expression Wizard对话框。

10 QRSysData组件。此组件一般放在Band上用来打印报表及系统信息如当前日期、当前日期和时间、表内记录数、当前记录号、当前页号、QuickRep组件的报表标题、当前时间。

11 QRMemo组件。 此组件用来显示备注信息,它的信息不是来自数据集,而是手工填写的,在其Line属性输入,此属性也是它最重要的属性。

12 QRExprMemo组件。QRExprMemo组件是QRExpr组件和QRMemo组件的合并,同时具有二者功能。允许在表达式中使用Memo文本,QuickRep将用表达式抽取相应的字符串。

13 QRRichText组件用来显示RTF类型的Memo 文本,可在 Line属性中输入它的ParentRichEdit属性可设定为一个RichEdit组件。

14 QRDBRichText组件用来显示数据表中Memo字段中RTF格式的文本。当然就需要设定DataSet、DataField属性。其他属性等和DBRichText组件一样。

15 QRShape组件。此组件允许在报表中画一些简单的图形,如圆、水平线、矩形、直线等,通过属性设定。

16 QRImage组件QRImage组件用来显示图片,和Image组件用法一样。

17 QRDBImage组件。和QRImage组件类似,也是用来显示图片只不过图片是与数据表记录中的图片字段相连,显示的是记录中的图片。

18 QRCompositeReport组件。QRCompositeReport组件将多个不同条件的报表合并成一个大报表而不需要通过编程来打印。可简单地在QRCompositeReport组件中添加报表。

19 QRPreview组件是用来预览报表的组件可用它创建自定义的预览屏幕代替Delphi默认的预览屏幕。若无特殊需要直接用QuickRep组件的Preview方法即可。

20 QRTextFilter组件。此组件用来将报表输出到文本文件中,将会出现保存文件对话框。

21 RCSVFilter组件。 和QRTextFilter组件类似,用来将报表保存为CSV格式的文件,它有一个Separator属性来说明用何种符号(如“,”)来隔开字段。

22 QRHTMLFilter组件将报表保存为HTML(超文本)格式文件。        其实可以不用上面的QRTextFilter、QRCSVFilter、QRHTMLFilter组件,而直接采用QuickRep组件的Export to Filter方法即可。

23 QRChart组件。QRChart组件用来以图形方式显示数据,双击它,和数据集连接起来即可。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics