介绍报表组件Qreport

在本讲中为大家介绍报表组件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组件用来以图形方式显示数据,双击它,和数据集连接起来即可。

数据库报表设计系统(以下简称为报表系统),是专用于对访问远程数据库服务器所得的数据,如:SQL Server2000、Oracle等进行报表设计、预览和打印的系统。它设计自由、样式多样、操作简单,和通常的字处理排版类似。 报表系统主要包括系统菜单、工具栏、设计区和预览区四大部分。其中系统菜单中的主要功能都能在工具栏中实现,工具栏以包括系统工具、表头元件、数据元件、排版工具、位置调整工具,具体功能如下: 1)系统工具:主要有新建报表、打开报表、保存报表、打印设置、打印预览、剪切、复制、粘帖等; 2)表头元件:主要有标签、文本标签(用于多行标签)、系统数据(用于显示打印日期、页码、页数等)、图象、直线、矩形(用于制作表格)和条形码等工具。 3)数据元件:主要有数据标签(用于显示数据字段值)、数据文本(用于显示TXT数据)、数据RTF(用于显示RTF数据)、求和(用于对字段求和)、图象(用于显示图象字段)、数据条形码、区域框(用于制作表格)以及数据字段框(用于选择要显示的数据字段名称)。 4)排版工具:主要有对文字进行加粗、斜体、下画线、居左、居中、居右,改变字体及大小、颜色,置前、置后工具用于对重合的元件进行调整。 5)位置调整工具:主要有上下左右移动元件,对元件上下左右对齐(同时选择多个元件就可使用此工具选择对齐方式)和改变元件大小工具,即选择两个以上的元件,使用此工具对基于参照元件进行放大和缩小其它元件。 设计区主要用于报表版面设计,包括表头(用于设计报表标题)、内容(用于设计报表表格)、页脚(用于设计报表落款);预览区主要用于报表预览,即可进行实时预览,也就是在设计区中修改了报表,立刻就可以在预览区显示效果,预览区上还有打印按钮、预览比例按钮和翻页按钮等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值