关闭

介绍报表组件Qreport

标签: 报表datasetwizarddelphirtf图形
820人阅读 评论(1) 收藏 举报
分类:
在本讲中为大家介绍报表组件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组件用来以图形方式显示数据,双击它,和数据集连接起来即可。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:273966次
    • 积分:4244
    • 等级:
    • 排名:第7454名
    • 原创:150篇
    • 转载:51篇
    • 译文:0篇
    • 评论:15条
    最新评论