2012-12-11 169 views
0

我正在嘗試使用NetBeans的jasper報告插件。 我創建了我的連接(測試是可以的) 我創建了jrxml ,我嘗試預覽它。Jasper該文檔沒有頁面

它自動編譯(出現.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> 

沒有什麼顯然顯示,但相同的消息..所以連接似乎沒問題?

+0

此鏈接可能會幫助你... [該文檔沒有頁面](https://stackoverflow.com/a/47102519/4783846) –

回答

2

即使您的報告正文中只包含靜態文本,如果您的報告sql爲空,jasper默認情況下也不會顯示任何內容。嘗試添加「選擇1作爲虛擬」作爲您的查詢,看看是否解決它。

0

要驗證數據源是否不是問題,您可以在報告的No Data部分放置一個靜態文本。然後在報告的屬性

When No Data : No Data Section 

如果在報告中顯示靜態文本,則數據源是您的問題。

1

嘗試一個空的查詢並查看結果。從這個CodeRanch forum post我摘錄如下:

當你的查詢產生任何結果,也就是3個選項是提供由JR ,你可以使用:(1)生成空報告 (PDF)即,沒有頁面(b)中生成一個單一的空白頁的報告(c)中 生成表示所有部分的報告,除了節

這可以通過設置屬性 [b的值來完成} whenNoDataType [/ B]爲元素jasperReport。 3可接受的值 是:(a)NoPages(b)BlankPage(c)AllSectionsNoDetail

這對我有用。

0

此錯誤是由於編譯報告以編譯它以單擊編譯報告而引起的。

相關問題