2016-06-12 49 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

我最好的猜测是底层数据源不返回任何数据。在这种情况下,默认情况下,jasper将返回一个空文档。这种行为可以配置。寻找属性'whenNoDataType'。 –

+0

似乎是这样的问题。谢谢 :) – prime

回答

0

默认情况下,JasperReports输出一个空文档,以防数据源不返回任何数据。例如,这可以有助于创建仅在子报表中存在数据的情况下才可见的子报表。

要控制jasper如何处理空数据源,可以使用** whenNoDataType **属性。不同的设置是

  • 无网页(默认)碧玉返回一个空文件
  • 空白页碧玉返回一个文档与一个空白页
  • 所有部分没有细节碧玉呈现的整个报告跳过细节带。
  • 没有数据Section Jasper只呈现无数据带。请注意,这在默认情况下不是报告的一部分,需要添加才能使用此选项。