我的 iReport 中有一个表,它自然有它的数据集,我有一个变量,它在表的数据集中定义和初始化,返回一个值(它肯定在表的范围内,而不是在表的范围内),我想在我的包含该表的主要报告。
我该怎么做或有其他选择?
最佳答案
使用 subDataset
从组件返回值的正确方法(jasper 报告 v.5/v.6)是使用变量,在主报表和subDataset
中定义变量.
示例 (将表的记录数返回到主报表)
<variable name="TABLE_COUNT" class="java.lang.Integer" resetType="None">
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
subdataset
定义一个变量(在示例中,将使用构建变量 $V{REPORT_COUNT}
)。 datasetRun
指出哪个 subDataset
变量 ( fromVariable
)应该返回到哪个主要报告变量(
toVariable
)<datasetRun subDataset="tableData" uuid="fa5df3de-f4c5-4bfc-8274-bd064e8b81e6">
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<returnValue fromVariable="REPORT_COUNT" toVariable="TABLE_COUNT"/>
</datasetRun>
TABLE_COUNT
然后可以在主报告中使用变量,只要记住设置正确 evaluationTime显示值 (在主报告中)
<textField evaluationTime="Report">
<reportElement x="0" y="0" width="100" height="20" uuid="d67ddb3e-b0cc-4fae-9e05-f40eb0f7e059"/>
<textFieldExpression><![CDATA[$V{TABLE_COUNT}]]></textFieldExpression>
</textField>
关于return - 如何将表数据源中的值返回到 iReport 中的主报表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10394401/