2016-06-12 5 views
-1

私のアプリケーションでジャスパーレポートを使用しています。そして、レポートを作成し、フロントエンドがレポートを要求するサービスがあります。作成されたジャスパーレポートは空で、エラーは表示されません。

しかし、私がPDFをダウンロードしたときは空です。

HTMLドキュメントとしてエクスポートしようとしました。応答はすべてのシナリオで以下のようになります。

<html> 
    <head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <style type="text/css"> 
     a {text-decoration: none} 
    </style> 
    </head> 
    <body text="#000000" link="#000000" alink="#000000" vlink="#000000"> 
    <table width="100%" cellpadding="0" cellspacing="0" border="0"> 
    <tr><td width="50%">&nbsp;</td><td align="center"> 

    <![if IE]> 
    <script> 
    var links = document.querySelectorAll('link.jrWebFont'); 
    setTimeout(function(){ if (links) { for (var i = 0; i < links.length; i++) { links.item(i).href = links.item(i).href; } } }, 0); 
    </script> 
    <![endif]> 
    </td><td width="50%">&nbsp;</td></tr> 
     </table> 
    </body> 
</html> 

空のhtmlページのようです。

なぜこれが起こっているのですか?他の同様の答えを探しましたが、運はありません。

+1

私の最高の推測は、基礎となるデータソースがデータを返さないことです。この場合、デフォルトでジャスパーは空の文書を返します。この動作は設定できます。プロパティ 'whenNoDataType'を探します。 –

+0

はそれが問題だと思われます。ありがとうございました :) – prime

答えて

0

JasperReportsは、データソースからデータが返されない場合に備えて、デフォルトで空のドキュメントを出力します。これは、たとえば、サブレポートのデータがある場合にのみ表示されるサブレポートを作成する場合に役立ちます。

ジャスパーが空のデータソースを処理する方法を制御するには、** whenNoDataType **プロパティを使用できます。異なる設定が

  • ノーページ(デフォルト)ジャスパーは
  • 空白ページジャスパーはなし詳細ジャスパー全体をレンダリングしない
  • を一の空白のページですべてのセクションをドキュメントを返し、空のドキュメントを返します詳細のバンドをスキップしてレポートします。
  • データセクションなし JasperはNo Dataバンドのみをレンダリングします。これはデフォルトではレポートの一部ではなく、このオプションを使用するために追加する必要があることに注意してください。
関連する問題