我是新手,我正在使用iReport 4.5设计我的报告。
我有一个主报告(MainReport)和三个子报告(Sub1,Sub2,Sub3)
在Sub1我有三个汇总变量说presentPayable,presentPayment,balance
在Sub2我有一个汇总变量说totalCost
我需要在我的Sub3中使用Sub1、Sub2的汇总变量。
我怎样才能做到这一点?这是否可以将变量从一个子报表传递到另一个子报表?
否则,请为我提供任何替代方法来执行此操作。
我是新手,我正在使用iReport 4.5设计我的报告。
我有一个主报告(MainReport)和三个子报告(Sub1,Sub2,Sub3)
在Sub1我有三个汇总变量说presentPayable,presentPayment,balance
在Sub2我有一个汇总变量说totalCost
我需要在我的Sub3中使用Sub1、Sub2的汇总变量。
我怎样才能做到这一点?这是否可以将变量从一个子报表传递到另一个子报表?
否则,请为我提供任何替代方法来执行此操作。
要将值从子报表传递到其父级,父级必须首先具有一个变量来接收该值。在您的情况下,主报告应该有 4 个变量,presentPayable、presentPayment、balance和totalCost 各有一个。
接下来,您需要向主报表中returnValue
的元素添加一个元素。此元素使用属性和subreport
将子报表中的变量映射到此报表中的变量。subreportVariable
toVariable
要在 iReport 中执行此操作,请单击主报表中的子报表元素。在属性列表中,单击Return Values。应出现一个对话框。单击添加按钮。键入子报表变量的名称并在此报表中选择您希望将其传输到的变量。您应该将计算类型保留为“Nothing”,这将指示 jasper 简单地用新值覆盖变量。单击确定添加此内容,然后对其他变量/子报表重复此操作。
现在,当您运行报表时,每次子报表完成处理时,子报表中变量的当前值都会传回主报表中的指定变量。
要在另一个子报表中使用该值,您需要将主报表中的变量作为参数传递给另一个子报表。这有两个部分:将 a 添加subreportParameter
到subreport
父报表中的元素,并将 a 添加parameter
到子报表本身。
在 iReport 中,单击主报表中的子报表元素。在属性列表中,单击参数。在出现的对话框中,单击添加按钮。为参数命名(例如presentPayable)并输入一个引用主报告中的变量的值表达式(例如$V{presentPayable}
)。对要传入的每个变量重复此操作。
接下来,打开您的子报表。在报告检查器中,右键单击Parameters。选择Add Parameter,然后重命名新参数以匹配您在上一步中输入的名称。
在子报表中,您现在应该能够像引用任何其他参数(例如$P{presentPayable}
)一样引用这些值。