Jasper reports 没有数据时如何删除jasper报表中的行?

Jasper reports 没有数据时如何删除jasper报表中的行?,jasper-reports,Jasper Reports,我使用jasper reports创建了一个数据表。如果某行中没有数据,如何使用if语句删除该行中的某个特定值为null。最佳解决方案是将其从数据源中删除(因此通过查询) 但是,您也可以使用详细信息波段上的打印Wheenexpression <detail> <band height="21"> <printWhenExpression><![CDATA[new Boolean($F{Field1}!=null &&

我使用jasper reports创建了一个数据表。如果某行中没有数据,如何使用if语句删除该行中的某个特定值为null。

最佳解决方案是将其从数据源中删除(因此通过查询)

但是,您也可以使用
详细信息
波段上的
打印Wheenexpression

<detail>
    <band height="21">
        <printWhenExpression><![CDATA[new Boolean($F{Field1}!=null && $F{Field2}!=null)]]></printWhenExpression>
    ...your fields....
    </band> 
</detail>

…你的领域。。。。
注意:我使用的是
newboolean(expression)
,因此它与JasperReport3.0兼容。如果您使用的是6.0,则可以删除它,并且可以直接放置表达式


printweenexpression
中,您可以使用本例中的java设置任何布尔表达式,因为我的jasper报告标签上有
language=“java”
属性最好的解决方案是将其从数据源中删除(因此通过您的查询)

但是,您也可以使用
详细信息
波段上的
打印Wheenexpression

<detail>
    <band height="21">
        <printWhenExpression><![CDATA[new Boolean($F{Field1}!=null && $F{Field2}!=null)]]></printWhenExpression>
    ...your fields....
    </band> 
</detail>

…你的领域。。。。
注意:我使用的是
newboolean(expression)
,因此它与JasperReport3.0兼容。如果您使用的是6.0,则可以删除它,并且可以直接放置表达式


在代码>打印时,表达式< /> >可以使用任何如在本例中的java来设置布尔表达式,因为我在JaspRealTebug标签

上有<代码>语言=“java”< /C>属性,这个问题仍然是开放的,如果有用的话,还是接受你自己的答案。这个问题是仍然开放考虑接受一个答案,如果有用或通过你自己的。