我正在使用iReports 4.7.1
我的主报告中有2个子报告,它们处于单独的乐队中。如果子报告没有返回任何行,我需要隐藏波段。我能够在主报告中获得子报告值。但是如果我将该变量用作同一频段中的表达式,则该变量的值变为空,如果我在其他细节带中使用相同的变量,则它不会变为空。
我有两个问题要问,
我按照this步骤创建变量并从子报表返回值到主报表。
我还尝试了新布尔值($ V {SUB_REPORT_ROW_CNT} .intValue()!= 0)或 $ V {SUB_REPORT_ROW_CNT}!= null 表达式当表达乐队时。
答案 0 :(得分:0)
如果我在相同的频段使用,为什么该值变为空?
我需要查看jrxml,但可能您在textField上没有正确的EvaluationTime,请尝试在textField上设置Band
或Report
示例evaluationTime="Report"
。
他们以隐藏子报告的任何其他方式都不返回任何行吗?
删除空子报表的常规方法是在子报表的isRemoveLineWhenBlank="true"
上设置reportElement
。
通过在{上设置whenNoDataType="NoPages"
(或自此默认设置后删除此属性),确保您的子报告在没有数据时返回无页面(空) {1}}代码
这将删除子报告,但是请注意,如果您想要移动它下面的文字,则需要设置jasperReport
,否则它们将保持原样,因为默认值为positionType="Float"