quickreport使用方法

  • 格式:pdf
  • 大小:326.43 KB
  • 文档页数:10

DELPHI7.0软件自带有报表Quick Report组件,但是默认的情况下,工具栏中是

没有的,需要手动添加,步骤:

component->install packages->add->\borland\bin\dclqrt70.bpl

一、组件功能简介

上面的两个图是QuickReport组件页的中所有组件,在BCB6中提供给我们使用

的不会少于上面的23个的。

下表是按上图中组件的位置先后,对各控件的使用功能逐一做了简单的介绍:

1)QuickRep

带有坐标,作为其他报表控件(如TQRBand)的容器,通过它的Band属性可以自动

添加各种类型的TQRBand

重要属性 (Properties)

使用说明

DataSet

连结数据来源,一般是ADO/BDE连接组件的名字

Page

纸张的设置,可展开

BottomMargin

10.0mm

报表下边界尺寸

Columns

1

报表分栏数,默认为1栏

ColumnSpace

0.0mm

报表栏与栏间隔尺寸,Columns值大于1时有效

LeftMargin

10.0mm

报表左边界尺寸

Length

210.0mm

报表长度尺寸,与PaperSize设置相关

Orientation

poPortrait

poLandscape

报表方向 打印方向,有下面两个值:直印 poPortrait、横印poLandscape

PaperSize

A4

报表打印纸张大小 RightMargin

10.0mm

报表右边界尺寸

Ruler

true

报表标尺显示

TopMargin

10.0mm

报表上边界尺寸

Width

297.0mm

报表宽度尺寸,与PaperSize设置相关

PrinterSetting

Copies

1

报表复制份数

Duplex

false

报表双重打印

FirstPage

0

报表打印起始页

LastPage

0

报表打印终止页

OutPutBin

Auto

报表输出种类

ReportTitle

报表预览打印标题

Units

mm

报表设计阶段显示标尺单位

2)QRSubDetail

建立一个主/明细(master/detail) 报表,连接明细文件的组件 3)QRStringsBand

可建立一读取 TStrings 中项次值的组件。在这个组件里有一个Items属性,若Items一个值(一行空、一回车行)都没有,那他上面的组件将不会起作用。当

String List Editor中有几行,该组件上的内容就重复几次。若只有一行内容时,

她与一个DetailBand是一样的;而多行时,也是差不多的,即先重复该区段内的

可视组件几次(几行就几次),然后下一个再重复。比如三行,那就是第一个数

据来三行,然后第二个数据来三行,再然后,直到最后

4)QRBand

用来确定在报表的不同位置应该显示什么内容,它上面可以放控件

5)QRChildBand

在报表中基础子项条列组件。他有一个ParentBand属性,你必须把他与其它band

连接起来,只有这样在她里面布置的组件才有效。说直接就是已经有了一个Band

而你还需要一个这样的组件,那就用她吧

6)QRGroup

在报表中对资料做逻辑上分组的组件。当你连接了几个datasets到报表时可以通

过Groups成组的对dataset进行操作

7)QRLabel

打印静态的文本(即不是根据数据库值来改变的),作用象Tlabel 。 Caption

的内容就打印出来的内容;AutoStretch是布尔型变量,当标签标题在设定范围内

不能打印时,该属性将起作用,若为true,报表将继续打印没有打印完的文本,

其它需要打印的文本将依次向后移动,反之,则超出部分不被打印

8)QRDBText

在报表中具有显示连结资料来源的文字功能的组件

9)QRExpr

在报表中具有显示陈述句或计算表示式值的组件

10)QRSysData

在报表中具有显示系统信息的组件

11)QRMemo

在报表中显示备注文字的组件

12)QRExprMemo

在报表中是TQRExpr 和 TQRMemo 的混合组件

13)QRRichText

在报表中具有显示区域文字功能的组件

14)QRDBRichText

在报表具有显示连结资料来源的区域文字功能的组件

15)QRShape

在报表中处理几何图形的组件,如方形、圆角方形、椭圆

16)QRImage

在报表中显示静态的图片,包括(BMP,WMF,ICON) 17)QRDBImage

在报表中显示从数据库接收的图片

18)QRCompositeReport

在报表中连结有关与无关的报表组件 ,用于创建混合报表的组件,可以把两个

或两个以上的报表连接在一起,组成一个报表

19)QRPreview

在执行阶段建立自订预览报表组件

20)QRTextFilter

将报表内容输出于ASCII text 文件

21)QRCSVFilter

将报表内容输出于CSV文件

22)QRHTMLFilter

将报表内容输出于HTML文件

23)QRChart

可以在报表上应用的图表工具

二、组件关系表

下图说明了与QuickReport相关组件之间的连接与关系:

┌ADOTable<=| ┌QRChilderBand┐

DataBase<=ADO<=│ |<=====QuickRep<=====├QRBand │<===可视化组件

└ADOQuery<=| └QRStringBand ┘

数据库 ADO引擎 报表容器组件 Band区段(容器) 可视化控件(显示)

注意:可视化组件必须布置在相应的TQRBand区段上,否则将得不到要显示的

内容。BDE引擎与这个差不多,他与ADO只是与库联接方式不一样,对QuickReport没有什么影响。

有时有些朋友不小心把可视化组件放在窗体上了,而没有直接放在TQuickRep

组件中的各Band区段上,当把这些组件移到想要放置的区段时,发现这些组件

不能用,所以你要切记:一定要把组件放在固定的区段上,并且在区段之间也是

不能移动的。我们从Object TreeView中可以看到这些组件与TQuickRep是同一

层,当然他不可能为TQuickRep工作了,只有他成为TQuickRep中的某一个区

段(某个Band)的下一层时,才能正常工作。并且一定要放在一个区段中,不

要误认为放在TQuickRep上就行,如果你直接放在TQuickRep上,你的报表中

将得不到什么L

三、最大容器TQuickRep

QuickReport中组织层次是特别严格的,TQuickRep是报表组件中必须有的,并

且所有Band组件都必须放在她的上面,如果说每个Band区段都是一个小容器

的话,那她就是一个最大的容器。想用好QuickReport,TQuickRep绝对不能只

看作是一个类似Form的容器,如何用好她对我们用好QuickReport会起到关键

性作用。

1)主要属性:

DataSet是TDataSet数据集类型变量,用来设置报表使用的数据集组件对象,在

主/明细报表中是主报表的数据集。若我们的报表要用到数据库,她必须指定数

据库连接工具的名称,否则你的程序将看不到数据库中的数据。当然,在数据库

的连接组件中也一定要把Active设为true,让不你只能在程序运行中动态的把数

据库打开,而在程序设计阶段将看不到什么L

RecordCount 是数据集组件对象中记录的数量;

RecordNumber是当前正在打印/显示的记录的索引(第一条记录的索引是0);

RecordCount、RecordNumber两个属性只有打开数据集对象之后,它们才可以访

问。

若报表组件成功地从数据集组件对象中提取数据,并生成报表,则Available的

属性值为true。

State属性是报表状态信息,它是枚举型变量,可以有以下的取值:

qrAvailable:报表资源已准备好,可以预览或打印;

qrPrepare:正在生成报表;

qrPreview:正在预览报表;

qrPrint:正在打印报表;

qrEdit:正在编辑报表。

Description是TStrings类型属性,它可以用来保存程序员对报表的简单描述。主

要是起提示作用。

Page属性是TQuickRep组件中最重要属性,它是TQRPage类型变量,用来设置

报表的页面属性。报表组件为她提供了特殊的编辑器,使用组件的快捷菜单Report settings就可以打开Page的属性编辑器窗口。在报表页面属性对话框上可

以设置页面的尺寸、边框、分栏、区段等等页面的属性。当然我们也可以在对象

查看器中点击 Page前面的“+”展开它的所有属性,并分别设置这些属性。其中PagerSize是设置纸张大小的,他与Width、Length是密切相关的,改变PagerSize

的值,后面两个的值也会做出相应的变化,同样,改变后两个属性时,PagerSize

的值也会做出相应的改变。我们可以通过改变Orientation的值来改变打印的方向。Margins指的是报表显示内容在PagerSize中的位置。Columns属性我们一定注意,

它是分栏设置,与WORD里的分栏设置是一样的,无论出于何种目的,有时我

们要把打印内容分成两栏(或多栏)时,这时我们就要用到它,把它的值改为2

(或实际栏数),至于栏间的距离我们通过Column space来设定。

Units属性是用来设置纸张的显示单位的,我们通常都选用mm(毫米),当然

你要对其它比较了解也可以选用,但我认为最好不要选用其它项。

2)主要方法及事件