[iReport總結2]iReport分頁

開發工具:iReport 4.0.1


在做EBS中的報表開發,客戶捨棄BI Publisher,而使用Jasper Report,使用過程中進行小小總結。


1,Report Properties中的“Ignore pagination”可以控制不分頁。


2,Pallet中的Break組件,可以控制表中多少行數據分頁。

Type: Page break, Column break

Print When Expression: 用來控制何時打印Break組件,就是執行分頁操作,可以填寫:$F{PAGINATION_FLAG}.equals( "Y")。


3,使用Report Group的"Start on a new page"

Report Group根據Group Expression中定義的字段來確定那些行可以同組,值相同的組相同,如果本行與上一行不同,就分組,如果設置了"Start on a new page",同時分頁。

下面的例子中,james一組,jack一組,jim和joe一組,jone一組。

0 james G0
1 jack G1
2 jim G2
3 joe G2
4 jone G1

如果要求每頁10行,組內不足10行打印空白行,可以在數據庫表中插入空白行來實現。


4,關於合計

定義了組後,可以進行分組計算,也可以做Report內的合計,組內合計的時候,variableExpression是必要的,組內計算依賴定義好的分組。

<variable name="quantitySumInGroup" class="java.lang.Integer" resetType="Group" resetGroup="positionNoGroup" calculation="Sum">
        <variableExpression><![CDATA[$F{QUANTITY}]]></variableExpression>
        <initialValueExpression><![CDATA[0]]></initialValueExpression>
    </variable>

調整resetType爲Report來合計所有行。


合計參考:http://asmitasapkota.blogspot.com/2009/06/calculating-sum-in-each-group-in.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章