【发布时间】:2013-05-04 01:12:26
【问题描述】:
我必须准备一封信,其中我要求首页的页眉为 40 毫米,除首页外的所有其他页面的页眉为 20 毫米。所以我创建了 2 个页眉。
我想根据页码隐藏/显示页眉。 但是当我写下面的print when expression的时候,就不行了。
$V{PAGE_NUMBER}.equals("1")
【问题讨论】:
标签: jasper-reports
我必须准备一封信,其中我要求首页的页眉为 40 毫米,除首页外的所有其他页面的页眉为 20 毫米。所以我创建了 2 个页眉。
我想根据页码隐藏/显示页眉。 但是当我写下面的print when expression的时候,就不行了。
$V{PAGE_NUMBER}.equals("1")
【问题讨论】:
标签: jasper-reports
你需要检查$V{PAGE_NUMBER}的类型是什么...(我认为是java.lang.Integer)
您选择的返回布尔值和 PrintWhenExpression 的方法应该返回 java.lang.Boolean,因此您需要实例化一个。
试试:
new Boolean($V{PAGE_NUMBER}.equals("1"))
它应该可以工作...为了改进您的测试,我认为最好进行 int 比较(Java 专家应该确认)
new Boolean($V{PAGE_NUMBER}.intValue() == 1)
您可能需要做的其他操作是指定整个对象名称(我不知道 JasperReport 如何处理导入)
new java.lang.Boolean($V{PAGE_NUMBER}.intValue() == 1)
【讨论】: