Jasper reports 如何让JasperReports在字段每次更改时打印字段?

Jasper reports 如何让JasperReports在字段每次更改时打印字段?,jasper-reports,ireport,Jasper Reports,Ireport,我使用iReport创建基于XML数据源的报告 我的源XML如下所示: <Data> <Master> <ProductId>12345</ProductId> <Sub> <Id>1</Id> <Type>Color</Type> <Value>Blue</Value> </Sub>

我使用iReport创建基于XML数据源的报告

我的源XML如下所示:

<Data>
  <Master>
    <ProductId>12345</ProductId>
    <Sub>
      <Id>1</Id>
      <Type>Color</Type>
      <Value>Blue</Value>
    </Sub>
    <Sub>
      <Id>2</Id>
      <Type>Color</Type>
      <Value>Red</Value>
    </Sub>
    <Sub>
      <Id>3</Id>
      <Type>Size</Type>
      <Value>XL</Value>
    </Sub>
  </Master>
</Data>
指的是以下字段:

Product ID --> Description (xPath) = ProductId
Type       --> Description (xPath) = Sub/Type
子报表的xPath是:

Master/Sub
我希望在每次“类型”更改时,报告都打印“产品ID和类型”行。不幸的是,我还没有找到一种方法来实现这一点。我已经创建了一些小组,等等,使用了“打印时间”的表达方式,但是这个方法不起作用

我已经和iReports和JasperReports合作了将近2年,虽然功能强大,但它的文档记录仍然很差,并且对许多变量使用了晦涩难懂的术语

所以我想要的输出效果是:

 12345 Color
   Blue
   Red

 12345 Size
   XL
但是,我最终得到的是:

12345颜色 蓝色 红色 XL


完全跳过“大小”。有人能帮忙吗?

对ProductId+Sub/Type进行分组应该会给你想要的东西。您需要发布更多的细节,以便有人准确地知道问题所在

 12345 Color
   Blue
   Red

 12345 Size
   XL