Jasper reports 从iReport中的子数据集返回值

Jasper reports 从iReport中的子数据集返回值,jasper-reports,ireport,Jasper Reports,Ireport,我知道可以在iReport中从子报表获取主报表的返回值。还有一些子数据集,它们也可以像子报表一样拥有自己的SQL查询。据我所知,子数据集只能用于列表、图表等,但我不知道如何访问主数据集/报表中的子数据集字段、变量和参数 是否也可以从子数据集获取返回值?如果没有,如何从子数据集访问值?目前无法在主报表结构中使用子数据集查询。最好的选择是使用表元素,可能只输出一个字段来完成您想要做的事情 否则,您需要重新构造查询,以适应在主报表中包含数据的需要。在属性>子报表属性>参数>添加>中单击“值表达式”附近

我知道可以在iReport中从子报表获取主报表的返回值。还有一些子数据集,它们也可以像子报表一样拥有自己的SQL查询。据我所知,子数据集只能用于列表、图表等,但我不知道如何访问主数据集/报表中的子数据集字段、变量和参数


是否也可以从子数据集获取返回值?如果没有,如何从子数据集访问值?

目前无法在主报表结构中使用子数据集查询。最好的选择是使用表元素,可能只输出一个字段来完成您想要做的事情


否则,您需要重新构造查询,以适应在主报表中包含数据的需要。

在属性>子报表属性>参数>添加>中单击“值表达式”附近的图标,然后添加参数或字段。在“报告检查器”选项卡>“参数>添加参数”中,转到子报告以添加参数同名

<textField evaluationTime="Report">
<reportElement x="0" y="0" width="200" height="20" uuid="333"/>
<textFieldExpression><![CDATA[$V{GLOBAL_VARIABLE}]]></textFieldExpression>
</textField>
是否也可以从子数据集获取返回值

这是可能的

在主报告中,您定义变量(整数-仅为示例):

然后在主报告中调用变量

<textField evaluationTime="Report">
<reportElement x="0" y="0" width="200" height="20" uuid="333"/>
<textFieldExpression><![CDATA[$V{GLOBAL_VARIABLE}]]></textFieldExpression>
</textField>

请注意
evaluationTime=“Report”
。如果没有这一点,它将无法工作。

在主报告中

<variable name="sum" class="java.lang.Double" resetType="None" calculation="System">
        <initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<textField evaluationTime="Now">
                <reportElement x="243" y="12" width="100" height="30" uuid="3b6ae08b-3155-457c-9a27-6ed79b170acb"/>
                <textFieldExpression><![CDATA[$V{sum}]]></textFieldExpression>
</textField>

在子数据集中定义另一个变量。 在datasetRun中,您可以返回它

在主要报告中

<variable name="sum" class="java.lang.Double" resetType="None" calculation="System">
        <initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<textField evaluationTime="Now">
                <reportElement x="243" y="12" width="100" height="30" uuid="3b6ae08b-3155-457c-9a27-6ed79b170acb"/>
                <textFieldExpression><![CDATA[$V{sum}]]></textFieldExpression>
</textField>

replicate to the solution post here-@MukeshSharma我认为是重复的,因为我在2014年发布了这个问题。你提到的问题来自2019年。