打印空数据集的无数据集带

时间:2013-12-18 02:08:18

标签: jasper-reports dataset no-data

我有一个包含数据集的报告。每当数据集中的查询返回0记录(空数据集)时,我想打印无数据带。

我已将“无数据时”设置为“无数据部分”。但它似乎没有奏效。

有什么建议吗?

3 个答案:

答案 0 :(得分:11)

为了在数据集中的查询返回0条记录(空数据集)时打印无数据带,请按以下步骤操作: -

  1. 转到报告检查器并在报告中添加无数据频段
  2. 放置静态文字,例如找不到数据
  3. 右键单击报表以打开报表属性部分
  4. 无数据属性设置为无数据部分
  5. 每当查询返回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提出的解决方案时,我找到了另一种方法,在我的方法中无需添加无数据带:

  1. 右键单击报表以打开报表属性部分
  2. 将无数据属性设置为所有部分,无详细信息
  3. 最终结果将是同一份报告,没有详细说明。就我而言,它完美地满足了我的需求。

    PS:我使用的是iReport 4.0.2