【问题标题】:passing parameters from a table in main report to subreport将参数从主报表中的表传递到子报表
【发布时间】:2014-10-17 20:04:01
【问题描述】:

我想将主报表中的表格字段作为参数传递给子报表JasperReports

<jasperReport xmlns ---- >
    <subDataset name="tableDataset" >
    <queryString>
        <![CDATA[{select * from person]]>
    </queryString>
    <field name="ID" class="java.lang.Integer"/>
    </subDataset>
        <title>
            <jr:table >
                <jr:column width="133" >
                    <jr:detailCell >
                        <textField>
                            <textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
                        </textField>
                    </jr:detailCell>
                </jr:column>
                ---
                --
                </jr:table>
        </title>
        <summary>
                <subreport>
<subreportParameter name="ID">
                <subreportParameterExpression><![CDATA[$F{ID}]]>     </subreportParameterExpression>
            </subreportParameter>
                    <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                    <subreportExpression><![CDATA["phonemumbers.jasper"]]></subreportExpression>
                </subreport>


        </summary>
</jasperReport>

如上所述,我将参数传递给子报表,但由于找不到字段而出现错误

【问题讨论】:

    标签: jasper-reports subreport


    【解决方案1】:

    您将字段作为参数从主报表传递到子报表的方式是正确的。但是您不能直接在子报表中使用此参数。您必须先捕获子报表中的参数,然后再使用它。将以下行添加到您的子报告(在&lt;import&gt; 之后和&lt;queryString&gt; 之前):

    <parameter name="ID" class="java.lang.Integer" isForPrompting="false"/>
    

    现在在子报表中使用它:

    $P{ID}
    

    【讨论】:

    • 是否可以将参数从表主报告传递到子报告表
    • 我不明白你到底想要什么。请相应地编辑您的问题。
    猜你喜欢
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    相关资源
    最近更新 更多