变量:
$V{PAGE_NUMBER}代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)
$V{PAGE_COUNT} 当前页面中记录的数目
$V{groupname_COUNT}代表当前组的记录数 eg:如果组是根据$F{the_city}分组,组名是CityGroup的话,那么此变量为$V{CityGroup_COUNT}
$V{COLUMN_NUMBER} 列号码
$V{COLUMN_COUNT} 当前列中记录的数目(是当前页里行的序号,在新页上会重置为1)
$V{REPORT_COUNT} 当前文档中数据源记录数目
参数:
Parameter name Class type
$P{REPORT_PARAMETERS_MAP} java.util.Map
这是一个内置的参数,这个参数总是指向一个 java.util.Map 对象,该对象保存了用户调用报表装填过程时传递给报表引擎的用户定的参数。
$P{REPORT_CONNECTION} java.sql.Connection
这 个报表参数指向一个 java.sql.Connection 对象,这个对象被提供给报表引擎用来通过 JDBC 来执行 SQL 报表查询。将 master 报表使用的 JDBC Connection 对象传递给 subreport 是非常有用的,有关这方面信息请查看 subreport 例子
$P{REPORT_DATA_SOURCE} net.sf.jasperreports.engine.JRDataSource
在 报表装填的时候,我们可以或者直接由应用程序中提供,或由报表引擎从所提供的 JDBC Connection 在后台 create 而获得一个数据源。这个内置的参数允许我们在报表表达式中或 scriptlet 中访问报表数据源,而不论我们为什么要这么做。
$P{REPORT_SCRIPTLET} net.sf.jasperreports.engine.JRAbstractScriptlet
即 使报表不使用 scriptlet ,这个内置的参数仍将指向一个 net.sf.jasper.engine.JRAbstracStriptlet 实例,该实例实际是一个 net.sf.jasper.engine.JRDefaultScriptlet 对象。
但是当使用 scriptlet 时,报表装填过程所生成的这个指向 scriptlet 类实例的引用允许我们调用其中的某些特殊函数,使用或控制 scriptlet 对象在装填过程中已经准备好的数据。在 scriptlet 例子中你可以看到更详细的使用过程。
Built-in variables内置变量
PAGE_NUMBER 包含了当前页码,在整个报表中包含总的页数。
COLUMN_NUMBER 包含当前是第几列
REPORT_COUNT 指示当前正在处理的是第几条记录
PAGE_COUNT 当前页中包含了几条记录
COLUMN_COUNT 当前列中包含了几条记录
<group name>_COUNT 以变量前缀来表示这个组记录数
Evaluation Time赋值时间
Now 立即求表达式的值
Report 报表产生之后求表达式的值
Page 页未求表达式的值
Colum n列末求表达式的值
Group求每组的值
例如:
第几页:$V{PAGE_NUMBER} Evaluation Time :Now
总页数:$V{PAGE_NUMBER} Evaluation Time :Report
Calculation types计算类型
Nothing 不是计算类型,它被使用当用户指定内在的表达式时,每条记录将被赋值。
Count 计算所有非null的表达式的次数,不要把它和sum搞混了,sum是计算的是数字的结果
Sum 反复的迭加表达式当前的值
Average 计算所有标准输入的表达式的平均值。
Lowest 返回标准输入中最低的表达式的值
Highest 返回标准输入中最高的表达式的值
StandardDeviation 返回标准输入中规格不同的表达式值standard deviation
Variance 返回标准输入中不一致的表达式值
System 不是一种计算方式,也不求表达式的值;使用这个后,报表引擎仅将最后一个变量值放入内存中;它可以用脚本来存储计算结果。.
Reset types重置类型
None 这个Initial Value Expression总是被忽视
Report 这个变量被初始化一次仅仅在报表创建的开始,用Initial Value Expression。
Page 这个变量被初始化在每个新页
Column The这个变量被初始化在每个新列(或者在每页,如果这个报表页仅仅只有一列的话)
Group The 这个变量被初始化在每一个新的组(我们定义这个组用Reset Group)