Mar*_*ark 6 expression ireport
我对iReports感到恼火.问题是我有一个数据集为多个客户返回数据,我想对客户ID使用"组表达式",并让报告为每个客户列出详细信息选项卡.
我发现,似乎是随机的,客户iReports会有更多的数据行生成两个或更多的分组(有时它会按照我的预期进行并将所有客户数据组合在一起),对客户的ID是相同而且不会改变.
谁看过这个吗?说实话,我不敢相信它实际上是一个错误,但我错过了一些东西.正在寻找尚未找到合适的结果.
我认为这是一个数据排序问题.
来自iReport Ultimate Guide的报价:
JasperReports通过评估组表达式对记录进行分组.每次表达式的值更改时,都会创建一个新的组实例.引擎不执行任何记录排序(如果没有明确请求),因此当我们定义组时,我们应该始终处理记录排序.也就是说,如果我们想按国家/地区对一组地址进行分组,我们为报告选择的记录应该已按国家/地区排序.使用ORDER BY子句在使用SQL查询时对数据进行排序很简单.如果无法做到这一点(也就是说,从XML文档中获取记录时),我们可以请求JasperReports为我们排序数据.这可以使用查询窗口中提供的排序选项来完成
您可以通过以下方式对数据排序:
ORDER BY customerId在报表的查询中添加子句,其中customerId - 具有客户ID的字段的列名称<jasperReport ...>
...
<field name="customerId" class="java.lang.String"/>
<sortField name="customerId"/>
Run Code Online (Sandbox Code Playgroud)