gpt4 book ai didi

java - iReport:带有子报表的预览报表告知参数

转载 作者:行者123 更新时间:2023-12-01 14:36:44 50 4
gpt4 key购买 nike

如何在iReport中预览以获取包含子报表的报表,并且该子报表在子报表参数中发送?

JRXML 中的子报表示例:

<subreportExpression class="java.io.InputStream"><![CDATA[$P{SUBREPORT}]]>/subreportExpression>

java中的参数示例:

InputStream subreport = new ByteArrayInputStream(reportInBytes);
parameters.put("SUBREPORT", subreport);

最佳答案

有任何错误消息、堆栈跟踪或其他内容吗?

subreportExpression 标记是子报表所在位置的相对路径或完整路径。这样的事情是有效的

<subreportExpression  class="java.lang.String"><![CDATA["..\jasper\subReportInvoice.jasper"]]></subreportExpression>

<subreportExpression  class="java.lang.String"><![CDATA["home\josh\jasper\subReportInvoice.jasper"]]></subreportExpression>

当您想要将自变量或参数传递给子报表时,必须首先在主报表(即调用子报表的报表)中的 queryString 标记之前声明它。

<!-- This is declared before my queryString tag tag -->
<parameter name="AGENCY_ID" isForPrompting="true" class="java.lang.Long"/>
<parameter name="TREATPROC_SUBTYPE_ID" isForPrompting="true" class="java.lang.Long"/>
<parameter name="PRODUCT_TYPE_CATEGORY_ID" isForPrompting="true" class="java.lang.Long"/>

<!-- This goes into my subreport tag -->
<subreport isUsingCache="true">
<reportElement
mode="Opaque"
x="0"
y="20"
width="900"
height="20"
forecolor="#000000"
backcolor="#FFFFFF"
key="subreport-2"
stretchType="NoStretch"
positionType="FixRelativeToTop"
isPrintRepeatedValues="true"
isRemoveLineWhenBlank="false"
isPrintInFirstWholeBand="false"
isPrintWhenDetailOverflows="false"/>
<subreportParameter name="AGENCY_ID">
<subreportParameterExpression><![CDATA[$P{AGENCY_ID}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="PRODUCT_TYPE_CATEGORY_ID">
<subreportParameterExpression><![CDATA[$P{PRODUCT_TYPE_CATEGORY_ID}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="TREATPROC_SUBTYPE_ID">
<subreportParameterExpression><![CDATA[$P{TREATPROC_SUBTYPE_ID}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression class="java.lang.String"><![CDATA["..\jasper\subReportInvoice.jasper"]]></subreportExpression>
</subreport>

子报表查询所需的所有参数都必须使用 subreportParameter 和 subreportParameterExpression 标记传递,如我的示例所示。

我希望这会有所帮助。

关于java - iReport:带有子报表的预览报表告知参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428093/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com