delphi开发学习五:QuickReoprt报表控件使用实例
来源:互联网 发布:淘宝竞争情报 编辑:程序博客网 时间:2024/06/05 10:59
报表是数据库应用程序设计中非常重要的一部分,数据库应用程序通常都要生成报表,并且打印出来。
在Delphi7.0中,默认情况下没有直接使用的QuickReport组件,使用时需先进行手工安装。
单机菜单命令‘’Componet/Install Packages‘’,如下各图所示:
默认情况下,组件包放置在Borland\Delphi\Bin\目录下,在对话框中单机“Add”按钮弹出文件打开对话框,如图所示。选择dclqrt70.dpl文件,确定就可以安装相应的组件包:
安装好后,控件板上出现了组件 Qreport 面板,如下图所示,上面存放了在报表设计时要用到的所有控件。
1、TQuickRep控件
TQuickRep控件是设置报表的核心控件,主要用来设置报表的外观。将 TQuickRep 控件加入到窗体中,它可以定位到窗体上并扩展成全页的尺寸,它相当于一张打印纸,用放置各个 Band 控件和设计元素。
2.TQRBand 控件
TQRBand 控件是一个表带控件,它是报表中最基本的控件,当为 QuickRep 控件设置Bands 属性时,就会自动添加该控件。
3.其他常用报表控件
(1)TQRLabel 控件,打印显示文字,Caption 属性指定输出文本。事件 OnPrint 提供了变换文本的一种方法,参数 Value 是改变输出的文本,但是 Caption 属性不会改变。
(2) TQRDBText 控件, 该控件可以指定数据的来源, 用来显示数据库表格中记录的字段,可以是字符串字段、数字字段、日期字段和备注字段的值。可以通过设置 DataSet 属性和DataField 属性来指定数据源。TQRDBText 控件的 AutoStretch 属性可以确定是否需要进行垂直扩展,以满足记录的需要。
(3)TQRExpr 控件,该控件用来建立和计算表达式的值,并在报表中打印,一般用在统计数据时比较多。
(4)TQRSysData 控件,该控件用于打印系统信息,如报表标题、当前页号等。其中 Data属性表示打印系统信息的种类,共有 7 个选项。
(5)TQRShape 控件,用于在报表上打印一些几何图形。通过属性 Shape 设置图形的形状,属性 Pen 设置边框的风格、模式和颜色。
4、设计报表:
在这里依然以delphi开发学习一中建立的工程ADOtest为基础。以 PERSONNELMG_SYS 数据库中 BASE_DATA 数据表为例,设计一张完整报表.
(1)新建一个窗体Treportfrm,在新建的窗体上创建一个 QuickRep1 对象和一个 Adoquery1 对象,并将 QuickRep1的 DataSet 属性设置为 Adoquery1,在 Adoquery1 的 SQL 属性里添加以下语句:select worker_id,worker_name,sex,department_name from base_data,并设置ADOQuery1的connectstring属为:Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PERSONNELMG_SYS;Data Source=.和ACtive属性为True;具体如下图所示:
然后在 QuickRep1 上添加 3 个对象:QRBand1、QRBand2 和 QRBand3,这样就完成了报表的外架结构。
(2)QRBand1 主要是作为表头来显示头部信息,因此在 QRBand1 上使用的各控件及其属性设置如下所示:
对象: QRBand1(QRBand 控件) 属性:BandType 属性值:rbPageHeader
对象:QRLabel1(标签) 属性:Caption 属性值: 员工名单列表
对象:QRLabel2(标签) 属性: Caption 属性值: 姓名
对象:QRLabel3(标签) 属性: Caption 属性值:编号
对象:QRLabel4(标签) 属性: Caption 属性值:性别
对象:QRLabel5(标签) 属性: Caption 属性值: 部门名称
对象:QRSysData1(QRSysData 控件) 属性: Data 属性值:qrsDateTime
(3)QRBand2 主要用来显示数据记录信息,在 QRBand2 上添加的控件对象及其属性设置如下所示:
对象:QRBand2(QRBand 控件) 属性: BandType 属性值:rbDetail
对象:QRDBText1(文本控件) 属性:DataField 属性值:Worker_name 属性:DataSet 属性值: ADOQuery1
对象:QRDBText2(文本控件) 属性:DataField 属性值:Worker_id 属性:DataSet 属性值 :ADOQuery1
对象:QRDBText3(文本控件) 属性:DataField 属性值:Sex 属性:DataSet 属性值:ADOQuery1
对象:QRDBText4(文本控件) 属性:DataField 属性值:Department_name 属性:DataSet 属性值: ADOQuery1
(4)QRBand3 主要用来存放统计信息,在 QRBand3 上面添加的控件对象及其属性设置如下所示:
对象:QRBand3 属性:BandType 属性值:rbSummary
对象:QRLabel8 属性:Caption 属性值:共计人数:
对象:QRSysData3 属性:Data 属性值:qrsDetailCount
报表设计好后的窗体布局如下图所示:
上面只是设计好了报表的布局格式,要使最后显示出统计信息,还需要添加对应的预览报表显示事件。在这里是借助在工程ADOtest里的按钮报表控件应用实例来显示报表窗体并预览报表,所以需要在该按钮事件里对应添加如下代码:Treportfrm.QuickRep1.Preview ;运行如下图所示:
下面附上实例开发的源代码下载链接:
http://download.csdn.net/detail/u011846249/9029883
- delphi开发学习五:QuickReoprt报表控件使用实例
- delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例
- Delphi开发学习三:TdataSource 控件与 TDBGrid 控件使用实例
- DELPHI TTcpServer控件使用实例
- Delphi控件开发浅入深出(五)
- 请教关于Delphi 开发使用报表
- Delphi开发学习一:使用ADOConnection控件连接数据库SQL
- Delphi 7学习开发控件
- delphi chrome cef3 控件学习笔记 (五)
- Delphi 7 中使用RAVE报表(五)
- web报表打印控件(Delphi + fastreport 开发的Activex)
- delphi xe2报表控件fastreport使用时出错的解决
- 使用Jasperreport作为报表控件开发胖客户端报表应用
- 使用Jasperreport作为报表控件开发Web 报表应用
- 使用Jasperreport作为报表控件开发Web 报表应用 后续
- 使用Jasperreport作为报表控件开发胖客户端报表应用
- 使用Jasperreport作为报表控件开发Web报表应用
- delphi QuickReport 报表控件简介
- ubuntu 中英文切换引起的编码问题
- 很容易学习的JQuery库 : (三) 事件
- 生成不重复long型数字
- 黑马程序员——多线程
- 杭电1166敌兵布阵(线段树)
- delphi开发学习五:QuickReoprt报表控件使用实例
- Spring 的MVC I18N-国际化相关配置
- JPanel中添加一个新的JPanel,结果新的JPanel会自动占满父JPanel
- UNIX环境高级编程(4):UNIX标准化及实现(2)
- ios_按钮圆角边设置
- 开源项目
- 安装完Source Insight后出现a valid serial number was not entered
- 详略。。。设计模式4——装饰模式。。。studying
- Android中的缩略图加载-不浪费一点多余的内存