【问题标题】:Jasper the document has no pageJasper 文档没有页面
【发布时间】:2013-11-16 13:16:51
【问题描述】:

我正在尝试使用 NetBeans 的 jasper 报告插件。 我创建了我的连接(测试没问题) 我创建了 jrxml 我试着预览一下。

它是自动编译的(.jasper 出现),我有一条消息说:“文档没有页面”。

我读到问题可能是数据源为空,但事实并非如此。所以我决定制作一个非常简单的 jrxml(静态:只有文本,不引用数据库的任何字段)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD JasperReport//EN"   "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

    <jasperReport name="report name" pageWidth="595" pageHeight="1500" columnWidth="535"  leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
        <background>
            <band/>
        </background>
        <title>
            <band height="79"/>
        </title>
        <pageHeader>
            <band height="35"/>
        </pageHeader>
        <columnHeader>
            <band height="61"/>
        </columnHeader>
        <detail>
          <band height="696">
            <textField isBlankWhenNull="false">
                <reportElement key="textField-23" x="0" y="274" width="449" height="134"/>
                <box>
                    <topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
                    <leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
                    <bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
                    <rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
                </box>
                <textElement textAlignment="Justified">
                    <font size="11" pdfFontName="Tiffy.ttf" isPdfEmbedded="true"/>
                </textElement>
                <textFieldExpression><![CDATA["Vous avez reçu il y a quelques mois une attestation de la Caisse Primaire d'Assurance Maladie destinée à réduire le coût de votre adhésion à une complémentaire santé.\n\n"+
"Si vous rencontrez des difficultés dans vos démarches d'accès aux droits et aux soins, le Service social de l'Assurance Maladie est à votre disposition pour vous informer, vous conseiller et vous accompagner.\n\n" + 
"Aussi, je propose de vous rencontrer à votre domicile le : "]]>
                </textFieldExpression>
            </textField>
        </band>
      </detail>
    <columnFooter>
        <band height="45"/>
    </columnFooter>
    <pageFooter>
        <band height="54"/>
    </pageFooter>
    <summary>
        <band height="42"/>
    </summary>
</jasperReport>

同样认为它可以编译,但我有消息


所以我添加了这两行:

<noData>no Data</noData>
<queryString>select * from dual</queryString>

什么都没有明显显示,但相同的消息..所以连接似乎没问题?

【问题讨论】:

标签: jasper-reports netbeans-7


【解决方案1】:

即使您的报告正文中只有静态文本,如果您的报告 sql 为空,jasper 默认不显示任何内容。尝试添加“select 1 as dummy”作为您的查询,看看是否可以解决。

【讨论】:

    【解决方案2】:

    尝试空查询并查看结果。从这个CodeRanch forum post我提取了以下内容:

    当您的查询没有结果时,有 3 个选项 由 JR 提供,您可以使用:(a) 生成空报告 (PDF),即没有页面 (b) 生成单个空白页报告 (c) 生成显示所有部分的报告,除了详细信息部分

    这可以通过设置属性的值来完成 [B}whenNoDataType[/B] 用于元素 jasperReport。 3 个可接受的值 是:(a) NoPages (b) BlankPage (c) AllSectionsNoDetail

    这对我有用。

    【讨论】:

      【解决方案3】:

      要验证数据源是否不是问题所在,您可以在报告的No Data 部分放置静态文本。然后在报告的属性中

      When No Data : No Data Section
      

      如果报表中显示的是静态文本,那么数据源就是你的问题。

      【讨论】:

        【解决方案4】:

        这个错误是因为报表已经被编译到编译它点击编译报表造成的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-04-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多