我想在某些列为空时隐藏整个表:
应隐藏下表,因为Param2,Param3和Param4列为空
Param1 Param2 Param3 Param4
A
乙
C
如果Param2,Param3和Param4中的任何一个不为空,则应显示该表。
Param1 Param2 Param3 Param4
A
B_的 _ __ _ __ _ __ _ __ _1
C
有没有人知道如何做到这一点?
答案 0 :(得分:0)
JasperReport Table组件具有属性<printWhenExpression>
。这需要一个布尔值并显示组件是否设置为true(否则不会显示。所以你应该做的唯一事情就是遍历每一列(第一列除外),检查是否有值或者不(通过检查isEmpty
)并且检索到的布尔值将在printWhenExpression中使用。或者甚至更好,检查数据集/查询是否返回任何记录。
另一种更简单的方法可能是将您的表放入子报表,将其设置为When No Data
作为无数据部分或空白页< / em>,并将子报告包含在主报告中。