【问题标题】:Return value from subdataset in iReport从 iReport 中的子数据集返回值
【发布时间】:2014-02-26 07:54:24
【问题描述】:

我知道可以从子报表获取返回值到 iReport 中的主报表。还有子数据集,它们也可以有自己的 SQL 查询,如子报表。据我了解,子数据集只能与列表、图表等一起使用,但我不知道如何访问主数据集/报告中的子数据集字段、变量和参数。

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

【问题讨论】:

标签: jasper-reports ireport


【解决方案1】:

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

否则,您需要重新构建查询结构以满足您在主报告中包含数据的需要。

【讨论】:

    【解决方案2】:

    在主报告中,

    <variable name="sum" class="java.lang.Double" resetType="None" calculation="System">
            <initialValueExpression><![CDATA[0]]></initialValueExpression>
    </variable>
    

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

    在主报告中,

    <textField evaluationTime="Now">
                    <reportElement x="243" y="12" width="100" height="30" uuid="3b6ae08b-3155-457c-9a27-6ed79b170acb"/>
                    <textFieldExpression><![CDATA[$V{sum}]]></textFieldExpression>
    </textField>
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        是否也可以从子数据集中获取返回值?

        有可能

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

        <variable name="GLOBAL_VARIABLE" class="java.lang.Integer" resetType="None">
           <initialValueExpression><![CDATA[0]]></initialValueExpression>
        </variable>
        

        在子数据集中定义另一个变量。

        datasetRun 中,您可以将值从内部变量返回到全局:

        <datasetRun subDataset="someDataset" uuid="111">
           <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
           <returnValue fromVariable="SUB_DATASET_VARIABLE" toVariable="GLOBAL_VARIABLE"/>
        </datasetRun>
        

        然后在主报告中调用你的变量。

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

        关注evaluationTime="Report"。没有这个就行不通了。

        【讨论】:

          猜你喜欢
          • 2020-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-03
          • 2020-03-13
          • 1970-01-01
          • 2016-05-26
          相关资源
          最近更新 更多