我有一个包含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?
我的问题是什么?
答案 0 :(得分:3)
您的怀疑是正确的,使用从子报表返回的值的变量来计算其他变量不起作用,因为"常规"变量值在子报表呈现和返回值之前计算。
如果你只需要对返回的值求和,你可以做的一件事是使用calculate =" Sum"将两个子报告中的值返回到同一个变量中。为了返回值。这是从第一个子报告返回到VAR1的val1和相同的val1到SUM,其中计算=" Sum",并将val2从第二个子报告返回到VAR1,并返回到SUM,计算=" Sum&#34 ;
请注意,计算=" Sum"是为了返回值,而不是变量;用于返回值的变量通常需要计算=" System"。