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的效果了
相關文章
相關標籤/搜索