如何让JasperReports每次更改时都打印一个字段?

时间:2010-12-19 17:12:03

标签: jasper-reports ireport

我正在使用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 and Type

参考字段:

Product ID --> Description (xPath) = ProductId
Type       --> Description (xPath) = Sub/Type

子报告的xPath是:

Master/Sub

我想要发生的是,我希望报告在每次“类型”更改时打印“产品ID和类型”行。不幸的是,我还没有找到一种工作方式。我创建了组等,使用了“Print When”表达式,但是REFUSES可以工作。

我已经与iReports和JasperReports合作了将近2年,虽然功能强大,但它仍然记录不完整,并且使用了许多变量的神秘术语。

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

 12345 Color
   Blue
   Red

 12345 Size
   XL

但相反,我最终得到的是:

12345颜色      蓝色      红色      XL

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

1 个答案:

答案 0 :(得分:1)

对ProductId + Sub / Type进行分组应该可以准确地提供您想要的内容。您需要发布一些详细信息,以便有人确切地知道问题所在。