将参数值从主报表的查询传递到子报表的查询 - iReport
Pass a parameter value from main report's query to subreport's query - iReport
我有两个 JRXML。一个是主报表,一个是子报表。
在主报告中我有一个类似
的查询
select name, address, phoneno from Employee where id=$P{id}
因此,我已将 ID 添加到主报告中的 Parameters
,当我预览报告时它会提示输入 ID。
现在在子报表中,我需要一个像
这样的查询
select age, bloodgroup from Employee where id=$P{id} and name=$P{name}
where 子句名称应取自主报表。
我不需要像 id 这样的名称提示。
那么如何将主报表的参数值传递给子报表呢?
在主报表中,您必须 "pass" 子报表所需的所有参数。
假设在您的主报表中您想要将 CITY 参数传递给您的子报表,您应该有如下代码:
<subreportParameter name="City">
<subreportParameterExpression><![ CDATA[$P{City} ]] ></subreportParameterExpression>
</subreportParameter>
除此之外,您还必须在子报表(参数部分)中添加相同的参数。
请注意,在 CDATA 部分中,您可以有多个参数,您也可以传递参数($P{parameter_name})或字段($F{field_name})
希望对您有所帮助!
我有两个 JRXML。一个是主报表,一个是子报表。
在主报告中我有一个类似
的查询select name, address, phoneno from Employee where id=$P{id}
因此,我已将 ID 添加到主报告中的 Parameters
,当我预览报告时它会提示输入 ID。
现在在子报表中,我需要一个像
这样的查询select age, bloodgroup from Employee where id=$P{id} and name=$P{name}
where 子句名称应取自主报表。
我不需要像 id 这样的名称提示。
那么如何将主报表的参数值传递给子报表呢?
在主报表中,您必须 "pass" 子报表所需的所有参数。
假设在您的主报表中您想要将 CITY 参数传递给您的子报表,您应该有如下代码:
<subreportParameter name="City">
<subreportParameterExpression><![ CDATA[$P{City} ]] ></subreportParameterExpression>
</subreportParameter>
除此之外,您还必须在子报表(参数部分)中添加相同的参数。
请注意,在 CDATA 部分中,您可以有多个参数,您也可以传递参数($P{parameter_name})或字段($F{field_name})
希望对您有所帮助!