“文档在iReport上没有页面”,在OpenReports上没有任何内容

时间:2010-05-05 00:51:01

标签: jasper-reports ireport

我遇到了JasperReports的问题我无法解决。我正在使用Eclipse,OpenReports 3.2和IReport 3.7

我遇到的问题是报告什么也没做。当我在IReport中预览报表时,我至少可以得到一个“文档没有页面”的消息,但是当我尝试使用OpenReports打开它时,它什么也没做。我得到了开放报告标题和版权信息,但它们之间没有任何内容。

我能够在OpenReports的ReportRunAction.java中将其跟踪到第150行。那条线是:

jasperPrint = jasperEngine.fillReport(reportInput);

至少那是页面死亡的行。它会跳过该行所在的catch块,但错误是空的。当我尝试打印描述时,它为空。我不能发誓这个问题不是那个参数。通过浏览所有我能够找到的内容是关于如何使用OpenReports使用的相同版本的jasperreports.jar编译报告。我不知道如何判断/ jasper报告的版本是否被捆绑到.jasper文件中。

这是我的问题吗?如果是这样,我如何告诉/设置捆绑的jar版本?如果不;帮助!

6 个答案:

答案 0 :(得分:4)

如果报告没有记录,或者您使用错误的过滤器表达式丢弃所有页面消息,则会显示无页面消息。

您可以尝试以下几种方法:

  1. 将过滤器表达式设置为:

    new Boolean(true)

  2. 这将以某种方式重置过滤器表达式。

    • 右键单击您的jasper报告
    • 属性
    • 找到更多。 ..

      并将报告属性“无数据时”设置为“所有部分无详细信息”,以便至少可以看到报告的其余部分。

    感谢。

答案 1 :(得分:3)

如果您使用的是详细信息Bandeport,则需要为报告提供数据查询。由于它在iReport中返回“No Pages”,因此您要么没有查询。或者只是您的查询没有返回任何行。

在旧版iReport中,从“数据”菜单中选择“报表查询”并在此处编写查询。如果只需要一个记录(即只有一次详细信息带),则可以使用虚拟表。像:

SELECT 'a' FROM DUMMY

否则,如果您不想使用细节带,则可以选择在不使用查询的情况下查看其他带。从Edit菜单中选择Report Properties,在More...标签下,将标记When no data设置为All Sections, no detail

您的问题不是例外或错误,只是没有数据显示。

答案 2 :(得分:1)

任何空数据源都可以解决问题。

答案 3 :(得分:0)

当我使用仅包含其他子报表且没有实际查询的子报表时,我在使用IReport时遇到了同样的错误。添加虚拟查询作为medopal建议修复no pages错误并允许事情正确运行。

另请参阅:http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=49315

答案 4 :(得分:0)

我一直面对这个错误。在我的情况下,由于图像发生此错误。如果报表文件中有图像,则在使用报表时,将强制使用有效数据填充图像。如果你不这样做,你会看到这个错误"文档没有页面"。要解决这个问题,只需在错误类型"上设置"属性窗口中的字段(只需单击图像,您将看到属性窗口)到"空白"。

强烈的愿望。

答案 5 :(得分:-1)

我有同样的问题,在搜索问题后得到了,我没有提供连接密码。

所以我将这些行添加到我的java代码中。

Class.forName("com.mysql.jdbc.Driver");
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/stock_mngt","root","your password");

现在我的代码正常运作。