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)主要方法及事件