关键字:

常见问题

更多>>

最受欢迎的文章

更多>>

最新文章

更多>>

文章存档

  • 2012年06月(6)
  • 2012年07月(83)
  • 2012年08月(62)
  • 2012年09月(30)
  • 2012年10月(8)
  • 2012年11月(11)
  • 2012年12月(9)
  • 2013年01月(7)
  • 2013年02月(1)
  • 2013年03月(1)
  • 2013年04月(1)
  • 2013年05月(2)
  • 2013年06月(1)
  • 2013年07月(2)
  • 2013年08月(4)
  • 2013年09月(4)
  • 2013年10月(3)
  • 2013年11月(2)
  • 2013年12月(1)
  • 2014年01月(1)
  • 2014年03月(1)
  • 2015年06月(2)
  • 2015年10月(1)
  • 2015年11月(9)
  • 2015年12月(2)
  • 2016年02月(1)
  • 2016年04月(1)
  • 2016年05月(16)
  • 2016年07月(4)

热门Tag标签

FastReport.Net v2016.6 FastScript安装 安装 VCL mvc FastReport.Net 报表 FastReport.Net v2016.2 TeeChart,图表开发 FastReport FMX 2.3 FastReport.Net v2016.1 FastReport.Net更新 FastCube VCL v2.5 FastReport VCL FastReport Online Designer教程 FastReport Online Designer组件 FastReport在线报表设计器:组件简介 FastReport在线报表设计器:界面结构简介 FastReport在线报表设计器:工作原理 FastReport Online Designer简介 FastReport Online Designer促销 FastReport Online Designer FastReport.Net授权促销 数据库查询构建 使用技巧 fastreport,报表 脚本引擎 FastScript FastScript, 脚本引擎  OLAP控件 

如何在FastReport的对象和表达式中使用变量

作者:zhuhm    来源:FastReport中文网    浏览:Loading...      日期:2012-10-12

假设有一个职员表,包括字段N,Nname1,Name2和Name3。字段的名称在不同的时候作用是不一样的,一般用于数据库设计人员。也就是说,需要重新指定一个更有意义的名称用于插入到对象中。当然,变量不仅能用于数据库字段名称,也能用于算术表达式。一个例子就是对数据字段、数值、日期或时间求和。更多的使用变量的例子可以从报表演示的程序代码中找到。

从操作一个变量列表,你必须从“文件|数据字典…”菜单中打开一个对话框。

变量列表在屏幕的左边。从这个图像可以看出,这个列表是一个两层结构:它由分类和各分类所包含的一个或多个变量组成。分类仅用于对变量逻辑上进行分组,是不能插入到报表中的。有关这个技术的详细说明参考“设计器”部分。

但是,FastReport数据字典中的变量描述不能单独工作。如果没有定义相关代码,FastReport会按这样的假设查找:

  • 在数据字典中有这样一个变量;
  • 它是一个数据字段;
  • 它是一个类似于Page#,Date,Time或其它类型的专用变量;
  • 它是frVariables列表中的变量;
  • 它是一个对象的属性;
  • 它是一个frConsts中的常量;

同样,如果使用控件的OnGetValue事件,它在所有验证之前调用。如果事件处理返回一个值,变量将被初始化,并且不对它做进一步的验证。

这种方法使得报表中的变量赋值方法具有多样性。它推荐为:

  • 当生成过程中将一个不可改变的静态记录值赋值给一个记录时,可以使用一个frVariables,就象这样:

frVariables['Reporting Period'] := 'January';

frReport1.ShowReport;

  • 当生成过程中将一个可改变的记录值赋值给一个记录时,你可以使用数据字典或TfrReport.OnGetValue事件处理,就象这样:

procedure TForm1.frReport1GetValue(const ParName: String; var ParValue: Variant);

begin

  if AnsiCompareText(ParName, 'Reported Period') = 0 then

    ParValue := Table1OtchPeriod.Value;

end;

  • 也可以通过编程为一个变量列表赋值:

with frReport1.Dictionary do

begin

  Variables['Number’] := 1;

  Variables['Sum'] := '0.2 * Table1."Summa"';

  Variables['Date'] := '''' + 'January' + '''';

end;

(在这个例子中需要另外说明的是要定义一个字符常量)。

FastReport中指定给数据字典中的变量的字符串,可以作为一个表达式被计算。常常用来使用一个没有在数据字典中定义的变量。

必须记住的是如果你从frVariables列表中使用变量或者你通过OnGetValue事件遍历它们,它们不能放进数据字典。

Tag标签:FastReportVCL .NET报表 VCL报表 

上一篇: 用FastReport和ReportBuilder来创建一个报表

下一篇: 如何扩展FastReport函数


下载试用 | 技术指南 | 常见问题 | 联系方式 | 法律顾问:欣力律师事务所

慧都科技旗下网站-FastReport中文网版权所有 Copyright 2012

FastReport,报表控件,FastReport报表,VCL报表,.NET报表,COM/ActiveX报表,OLAP控件,联机分析处理