想展示"要保持联系"对于报告中的所有页面和上次报告"报告结束"必须使用iReport显示

时间:2014-11-25 11:19:40

标签: jasper-reports

我设计了一个iReport,它应该显示报告中的所有记录。例如,如果报告有2页,那么第一页应该显示"要继续"第二页应显示"报告结束"无论您使用多少页面。

我在报告的页脚上放置了一个标签并更改了属性"打印时表达"如

$V{PAGE_NUMBER}.equals($V{PAGE_COUNT}.toString()) ? "End of Report" : "Continue"

并在执行报告时显示错误

Error filling print... java.lang.String cannot be cast to java.lang.Boolean 
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean 

1 个答案:

答案 0 :(得分:1)

您应填写的属性为Text field expresion,并按以下方式更改:

$V{PAGE_NUMBER}.equals($V{PAGE_COUNT}) ? "End of Report" : "Continue"

因为你正在比较整数。

xml中的文本字段应为:

<textField>
    <reportElement x="xx" y="xx" width="xx" height="xx" uuid="xxxx"/>
    <textElement textAlignment="xxx" verticalAlignment="xxx">
        <font fontName="xx"/>
    </textElement>
    <textFieldExpression><![CDATA[$V{PAGE_NUMBER}.equals($V{PAGE_COUNT}) ? "End of Report" : "Continue"]]></textFieldExpression>
</textField>