将一个变量从一个subReport返回到Jaspersoft Ireport中的另一个subReport

时间:2011-12-06 06:29:01

标签: ireport subreport

我在jaspersoft有一个主要报告。在主报告中,我使用了两个子报告。在其中一个子报告中,我有一个可变的总现金。我必须在我的下一个子报告中使用此变量Total Cash。是否可以将变量从一个SubReport传递到另一个SubReport。如果没有,那么我如何将变量从SubReport传递到主报告。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用returnValue元素从子报表获取返回值到主报表。以下代码将主报表中的$ V {r​​esult}值设置为子报表中$ V {total}的值。这在iReport而不是jrxml代码中更为明显。 有关详细信息,请查看Subreports

<subreport isUsingCache="true">
  <reportElement x="18" y="11" width="189" height="77" key="subreport-1" />
  <connectionExpression>
    <![CDATA[$P{REPORT_CONNECTION}]]>
</connectionExpression>
  <returnValue subreportVariable="total" toVariable="result" />
  <subreportExpression class="java.lang.String">
    <![CDATA["C:/Program Files/JasperSoft/iReport-3.0.0/compile/Untitled_report_2.jasper"]]>
</subreportExpression>
</subreport>

答案 1 :(得分:0)

绝对可以:

只需将第一个子报表中的返回值设置为主报表中的所需变量,然后将第二个子报表传递参数设置为上一个变量的值。但是如果您将第二个子报表放在与第一个子报表相同的详细信息区域中,则会获得空值,然后尝试添加更多详细信息,并将第二个子报表放在此处。