我有一个包含数据集的报告。每当数据集中的查询返回0记录(空数据集)时,我想打印无数据带。
我已将“无数据时”设置为“无数据部分”。但它似乎没有奏效。
有什么建议吗?
答案 0 :(得分:11)
为了在数据集中的查询返回0条记录(空数据集)时打印无数据带,请按以下步骤操作: -
每当查询返回0时,添加无数据带后,“无数据”带将显示静态文本。
答案 1 :(得分:1)
对于像我这样的人,不使用JasperSoft或更老的iReport和 直接使用XML,执行以下操作:
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports
http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
whenNoDataType="NoDataSection"
name="freport" pageWidth="595" pageHeight="842"
columnWidth="555" leftMargin="20" rightMargin="20"
topMargin="20" bottomMargin="20">
将whenNoDataType="NoDataSection"
添加到<jasperReport>
元素。
<noData>
<band height="15">
<staticText>
<reportElement x="0" y="0" width="200" height="15"/>
<box>
<bottomPen lineWidth="1.0" lineColor="#CCCCCC"/>
</box>
<textElement />
<text><![CDATA[The report has no data]]> </text>
</staticText>
</band>
</noData>
在详细信息区域下方添加<noData>
元素。
答案 2 :(得分:0)
当我尝试@Sharad提出的解决方案时,我找到了另一种方法,在我的方法中无需添加无数据带:
最终结果将是同一份报告,没有详细说明。就我而言,它完美地满足了我的需求。
PS:我使用的是iReport 4.0.2