在i-report中字段为空时如何隐藏

时间:2016-09-20 06:57:12

标签: jasper-reports

我想隐藏jasper i-report中的文本字段。

所以我把这个表达式放在那些字段的 Print When Expression

$F{field_cashPaymentReceiptMode} != null && !"".equals($F{field_cashPaymentReceiptMode}) 

但是在编译报告时我遇到了错误。

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
1. The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
                value = ((java.lang.String)field_cashPaymentReceiptMode.getValue())!=null &&!"".equals(((java.lang.String)field_cashPaymentReceiptMode.getValue())); //$JR_EXPR_ID=33$
                                                                                             <-------------------------------------------------------------------->
1 errors

请帮帮我。

2 个答案:

答案 0 :(得分:1)

  1. 完全消除打印时的表达
  2. 检查空白时
  3. Blank When Null

    1. (可选)检查空白时删除行(仅当您希望字段完全消失时才使用此字段,而不是在页面上保留其空间但没有内容)。
    2. Remove Line When Blank

答案 1 :(得分:0)

尝试更改顺序:

... && !$F{field_cashPaymentReceiptMode}.equals("")

如果这没有帮助:

这也可能取决于您的JDK(1.7 / 1.8)版本as seen in this question。使用1.8时,如果可能,请尝试降级到1.7。这是因为1.8中接口中的新默认方法。