我在Jasper Report中显示或隐藏表格时遇到问题。
当没有数据可用时,它会显示一条水平线。
我想在查询没有检索到任何数据时隐藏报表中的静态文本字段和表。
任何人都可以帮助我吗?
这里我附上了我的输出。
答案 0 :(得分:0)
您可以尝试为静态文本以及表格的每一列设置Print When表达式。
以下是它的外观示例:
// determine somewhere whether the received table data is empty or not.
// save the result as a boolean and add it to report parameters
boolean ifTableEmpty = false; // for example
parameters.put("ifTableEmpty", ifTableEmpty);
// create a Print When expression
JRDesignExpression whenToPrintTheTable = new JRDesignExpression();
whenToPrintTheTable.setText("$P{ifTableEmpty}");
// add the expression to your static text and similarly for each column
staticText.setPrintWhenExpression(whenToPrintTheTable);
答案 1 :(得分:0)
您可以创建子报表,内容将是您要显示或隐藏的代码。 之后,在任何检索字段上使用Print When表达式。
答案 2 :(得分:0)
您可以使用“无数据”部分。它旨在处理布局,以防查询返回任何数据。你可以找到No Data作为最后一个但只有一个部分 - 背景之上和摘要