简体   繁体   English

Jasper报告使用Spring MVC的SUM函数的编译错误

[英]Jasper reports compile error for SUM function with spring mvc

I am using jasper reports to generate reports from my spring mvc application. 我正在使用jasper报告从我的spring mvc应用程序生成报告。

It works fine as long as I do not use any math functions in jasper report. 只要我在jasper报告中不使用任何数学函数,它就可以正常工作。 For example the SUM function in jasper reports gives me a compile time error on my application - 例如,碧玉报告中的SUM函数给我的应用程序产生了编译时错误-

1. The method SUM(int) is undefined for the type ContentUsageStatisticsReport_1426086372880_332015
                value = SUM(((java.math.BigDecimal)field_cnt.getValue()).intValue()); //$JR_EXPR_ID=15$

Here is the field from jasper reports. 这是碧玉报告中的字段。

<textField>
            <reportElement x="210" y="1" width="130" height="20" uuid="45fbed39-f63a-41ff-8ff1-88821aeefcd1"/>
            <textFieldExpression><![CDATA[SUM($F{cnt}.intValue())]]></textFieldExpression>
</textField>

Does this mean that I cannot use Jasper functions in the report and the calculations must be done on server? 这是否意味着我无法在报表中使用Jasper函数,并且必须在服务器上进行计算? If so, then how do I calculate subtotals for each page of the report?. 如果是这样,那么如何计算报告每一页的小计?

I solved this problem by creating a variable that calculates the SUM of the required field - 我通过创建一个变量来解决此问题,该变量计算所需字段的总和-

<variable name="subtotal_of_cnt" class="java.math.BigDecimal" resetType="Group" resetGroup="isALUEmployee" calculation="Sum">
        <variableExpression><![CDATA[$F{cnt}]]></variableExpression>
</variable>

and used it - 并使用它-

<textField>
                    <reportElement x="210" y="1" width="130" height="20" uuid="45fbed39-f63a-41ff-8ff1-88821aeefcd1"/>
                    <textFieldExpression><![CDATA[$V{subtotal_of_cnt}]]></textFieldExpression>
</textField>

This works because variables are evaluated after the report is compiled and populated. 之所以可行,是因为在编译和填充报表之后评估变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM