iReports分组错误 - 多次出现?

时间:2011-10-13 16:46:16

标签: expression ireport

我对iReports感到恼火。问题是我有一个数据集为多个客户返回数据,我想对客户ID使用“组表达式”,并让报告为每个客户列出详细信息选项卡。

我发现,似乎是随机的,客户iReports会有更多的数据行生成两个或更多的分组(有时它会按照我的预期进行并将所有客户数据组合在一起),字段ID客户是一样的,不会改变。

有没有人见过这个?说实话,我不敢相信它实际上是一个错误,但我错过了一些东西。正在寻找尚未找到合适的结果。

2 个答案:

答案 0 :(得分:8)

我认为这是一个数据排序问题 引自 iReport Ultimate Guide

  

JasperReports通过评估组表达式对记录进行分组。一切   表达式的值更改时,将创建一个新的组实例。   引擎不执行任何记录排序(如果没有明确说明)   请求),所以当我们定义组时,我们应该始终关注   记录排序。也就是说,如果我们想要按一组地址分组   country,我们为报告选择的记录应该已经过了   按国家排序。使用SQL查询时,对数据进行排序很简单   通过使用ORDER BY子句。当这是不可能的时候(也就是说   从XML文档中获取记录),我们可以请求   JasperReports为我们排序数据。这可以使用排序来完成   查询窗口中可用的选项


您可以通过以下方式对数据进行排序:

  • 如果使用 数据库jdbc连接 数据源类型,您可以将 ORDER BY customerId 子句添加到报告的查询中,其中 customerId - 客户ID
  • 的字段列名称
  • 如果使用 文件csv连接 或类似内容,您可以通过添加 sortField 来组织数据排序报告模板的字段属性( jrxml 文件):
<jasperReport ...>
    ...
    <field name="customerId" class="java.lang.String"/>
    <sortField name="customerId"/>

答案 1 :(得分:3)

  1. SQL语句有ORDER BY
  2. iReport组按customer_id分组?