iReport+jasperReport概念的澄清(续)

JasperReport有三个域用来存放、展现数据,Parameter、Field、Variables,此次说说这三个吧!

Report Parameters

JasperReport 报表的参数是最为一个object类型的参数传递的,一般咱们在jrxml文件中会这样定义
< parameter  name ="ReportTitle"  class ="java.lang.String" />
顾名思义,参数是用来传递给报表的,一般咱们会动态的传递一个参数给报表做为报表的标题,传递给自报表一个参数用来做为自报表查询的条件等等。
jasperReport内置了几个有用的参数: REPORT_SCRIPTLET引用外部的scriptlet,REPORT_LOCALE引用国际化preperty文件使用的,REPORT_CONNECTION传递报表JDBC链接参数使用的等等。
public  Map getMap()  {

        Map map 
= new HashMap();
        map.put(
"reportTitle""laoshulin");
        
return map;
    }
程序运行的时候就会动态的赋值给ReportTitle这个参数
下面这个是报表运行时须要的connection参数,是动态传递给子报表的
< connectionExpression > <![CDATA[ $P{REPORT_CONNECTION} ]]> </ connectionExpression >
咱们在程序运行的时候的时候能够把一个打开的链接传给REPORT_CONNECTION参数,
parameters.put( " REPORT_CONNECTION " , getConnection());

Report Field

field是用来展示数据的域,也是最经常使用的一个,采用JDBC时iReport能够在咱们写入SQL时自动检测到全部的field,有时咱们须要本身手动创建一些field,这个字段没有什么好说的,咱们能够在iReport设置它的各类属性。之后碰到的时候在说。

Report Variables

提起Variables不能不提expression,report expression是jasperReport一个很是实用的组件,它能够用来执行各类计算,修饰各个字段的数据。如:
< textFieldExpression >
    $F{FirstName} + " " + $F{LastName}
</ textFieldExpression >

< textFieldExpression >
    "Max Order ID is : " + $P{MaxOrderID}
</ textFieldExpression >

        报表变量是创建在表达式上的一个特殊的用来简化报表设计,一个变量能够执行内置类型的计算以及相应表达式,如:总数,总和、平均数、最低值、最高值、差额等等。
< variable  name ="QuantitySum"  
        class
="java.lang.Double"  calculation ="Sum" >
    
< variableExpression > $F{Quantity} </ variableExpression >
</ variable >
JasperReport内置了一些变量   

PAGE_NUMBER 页数
COLUMN_NUMBER 列数
REPORT_COUNT 报表总数
PAGE_COUNT  当前页数
COLUMN_COUNT 列总数

值得一提的是JasperReport还有一个比较强大的功能就是parameter/field/variables都支持html语言
html

设置Markup为HTML时就能够在Text Field Expression 中写入html标记了
" < font  color ='blue'  size ='5' > "+$P{reportTitle}+" </ font > "
当报表预览的时候就能够直接看到html的效果了
相关文章
相关标签/搜索