如何将字段从父级传递到 JasperReports 中的子列表?

How to pass fields from parent to sublist in JasperReports?

我在主报告视图中有一个从 JavaBean 中获取的字段变量,如下所示:

<field name="username" class="java.lang.String">
    <fieldDescription><![CDATA[username]]></fieldDescription>
</field>

现在我还有一些嵌套对象的 sublist,但子列表也应该可以访问 username。 以下不起作用:

<subDataset name="sublist">
    <field name="username" class="java.lang.String">
        <fieldDescription><![CDATA[$F{username}]]></fieldDescription>
    </field>
</subDataset>

这失败了,因为子列表本身没有定义字段 username。在解析子列表中的参数时,如何告诉 JasperReports 查看父级?

尝试将其作为参数传递。

<datasetRun subDataset="sublist">
    <datasetParameter name="username">
        <datasetParameterExpression><![CDATA[$F{username}]]></datasetParameterExpression>
    </datasetParameter>
</datasetRun>