4

我遇到无法解决的 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 的版本?如果不; 帮助!

4

6 回答 6

4

当报告没有记录或您使用错误的过滤器表达式丢弃所有它们时,就会出现无页面消息。

您可以尝试以下几件事:

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

    新布尔值(真)

这将以某种方式重置您的过滤器表达式。

  • 右键单击您的碧玉报告

  • 特性

  • 寻找更多。..

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

谢谢。

于 2017-11-03T18:41:12.100 回答
3

如果您使用的是 Detail Bandeport,那么您将需要用于报告的数据查询。由于它在 iReport 中返回“无页面”,因此您要么没有查询。或者只是您的查询没有返回任何行。

在旧的 iReport 中,从 Data 菜单中选择 Report Query 并在此处编写您的查询。如果您只想要一条记录(即只需要一次详细信息带),您可以使用虚拟表。喜欢:

SELECT 'a' FROM DUMMY

否则,如果您不想使用 Detail Band,您可以选择在不使用查询的情况下查看其他 Band。从Edit菜单中选择Report Properties,在More...选项卡下,将标志设置When no dataAll Sections, no detail

您的问题不是异常或错误,只是没有数据可显示。

于 2010-05-05T09:31:00.083 回答
2

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

于 2015-03-19T06:17:57.903 回答
0

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

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

于 2010-05-07T18:39:35.417 回答
0

我已经面临这个错误一段时间了。就我而言,此错误是由于图像而发生的。如果您的报告文件中有图像,当您想使用报告时,您将被迫用有效数据填充图像。如果不这样做,您将看到此错误“文档没有页面”。要解决此问题,只需将属性窗口中的“错误类型”字段(只需单击图像即可看到属性窗口)设置为“空白”。

强烈的愿望。

于 2016-09-18T10:44:02.133 回答
-1

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

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

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

现在我的代码有效。

于 2017-02-14T07:26:10.500 回答