开发工具: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
本文介绍使用JasperReport进行报表开发时的分页与合计设置方法,包括通过ReportProperties控制不分页、利用Break组件按条件分页、通过ReportGroup实现按组分页及如何进行分组内及报告级别的合计计算。

5009

被折叠的 条评论
为什么被折叠?



