如何将2个变量相加并将其存储到一个变量中

时间:2016-05-23 03:55:35

标签: jasper-reports

我有一个包含2个不同子报告的mainreport。

我有一个来自subreport1的变量sum,例如10(类型整数)

我有另一个子报告2的另一个变量sum,例如2(类型整数)

成功检索了每个子报告中的2个变量 现在我想在mainreport中创建一个总结2个变量的变量

所以现在在我的主报告中我有3个变量

第一个变量叫做VAR1,它来自子报告1

Name                       VAR1
Variable Class             java.lang.Integer
Reset type                 Report
initial Value Expression   0

第二个变量叫做VAR2,它来自子报告2

Name                       VAR2
Variable Class             java.lang.Integer
Reset type                 Report
initial Value Expression   0

最后一个变量叫做SUM

Name                       SUM
Variable Class             java.lang.Integer
Reset type                 Report
variable expression        new Integer($V{VAR1}.intValue() + $V{VAR2}.intValue() )
initial Value Expression   0

当我预览pdf时,SUM变量为NULL,VAR1和VAR2是整数值,但SUM变量始终为NULL

是否可以在VAR1和VAR2之前评估SUM?

我的问题是什么?

1 个答案:

答案 0 :(得分:3)

您的怀疑是正确的,使用从子报表返回的值的变量来计算其他变量不起作用,因为"常规"变量值在子报表呈现和返回值之前计算。

如果你只需要对返回的值求和,你可以做的一件事是使用calculate =" Sum"将两个子报告中的值返回到同一个变量中。为了返回值。这是从第一个子报告返回到VAR1的val1和相同的val1到SUM,其中计算=" Sum",并将val2从第二个子报告返回到VAR1,并返回到SUM,计算=" Sum&#34 ;

请注意,计算=" Sum"是为了返回值,而不是变量;用于返回值的变量通常需要计算=" System"。