一。 报表控件摆放的区段  

作为报表,它通常有一个固定的模式,最常见的报表主要是由以下六部分组成:

PageHeader:页眉,每页均会出现
      Title:标题,
只出现在第一页             
       ColumnHeader
:所有列的标题,即报表文件的字段区域,每页只会出现一次             
       Detail
:记录的内容,一个字段一列,即报表的文本区域(重复区)                

 Summary:摘要(只出现在最后一页)             
       PageFooter
:页脚,每页均会出现

GroupHeader:

GroupFooter:

二。TQREcprMemo 组件:

    在报表中是TQRExpr TQRMemo 的混合组件 ,应用时一般放在QrDetail上,应用QrDetail上的数据字段做为参加运算的表达式,例如:

  Lines属性:{Company}

  {Addr1}

  {Addr2}

  {City}{IF(tbCustomer.State<>'',', ', '')}{State} {Zip}

  {Country}

  AutoStretch设置为true,自动扩展

 

   三。TQRSysData控件

       Data属性是一个枚举类型变量,它有七个取值,如下表:

系统功能类型表(Data取值表)

 

系统功能类型

功能描述

qrsTime

系统时间

qrsDateTime

系统日期和时间

qrsDetailCount

需要打印的记录数量

qrsDetailNo

正在打印的记录索引

qrsPageNumber

正在打印的页

qrsReportTitle

报表标题

qrsDate

系统日期

 

Text属性是字符串类型变量,用来构成完整的系统功能字符串。

DataText这两个属性通常是一起使用的。如果将Text设置为“打印时间:”,而将Data设置为qrsDataTime,则系统打印结果为“打印时间:2003-9-21 130812的形式。

Text属性是字符串类型变量,用来构成完整的系统功能字符串。

DataText这两个属性通常是一起使用的。如果将Text设置为“打印时间:”,而将Data设置为qrsDataTime,则系统打印结果为“打印时间:2003-9-21 130812的形式。

许多情况下,我们更想打印如“第1页”这样格式的页码,使用上面的属性是不能实现的,这就要我们编写代码来实现。在打印/显示报表时,应用程序将触发OnPrint事件句柄。

这样我们只要在报表运算组件TQRExpr或系统功能组件TQRSysDataOnPrint中写下如下代码就可以实现了:

 TForm1::TQRExpr1Print(TObject *sender, AnsiString &Value)

{

       Value=""+Value+"";

} 

TForm1::TQRSysData1Print(TObject *sender, AnsiString &Value)

{

        Value=""+Value+"";

}通过这两段代码我们可以知道,原来这两个组件显示或起作用的就是Value,如果我们不修改Value的值,则直接打印Value内容。由于我们在OnPrint事件中修改了她的值,

从而改变了打印的内容。

posted on 2011-03-23 17:33  cnby  阅读(1769)  评论(0编辑  收藏  举报