【发布时间】:2012-08-06 15:05:18
【问题描述】:
您好,我是使用 Jaspersoft iReport Designer 的新手。我想要一份有两页的报告。我使用的版本是 4.7.0。我已经有一页信息,但我不知道如何添加第二页。任何帮助将不胜感激。感谢您的宝贵时间。
【问题讨论】:
标签: jasper-reports
您好,我是使用 Jaspersoft iReport Designer 的新手。我想要一份有两页的报告。我使用的版本是 4.7.0。我已经有一页信息,但我不知道如何添加第二页。任何帮助将不胜感激。感谢您的宝贵时间。
【问题讨论】:
标签: jasper-reports
您可以通过多种方式完成此操作。
第一个实际上是创建 2 个单独的报表并将它们合并。基本上你画出每一页你想要的样子。导出时,您创建报告的 2 个 JasperPrint 实例,然后批量导出它们。
public byte[] generateReport(JasperPrint jasperPrint1, JasperPrint jasperPrint2) {
//throw the JasperPrint Objects in a list
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList,add(jasperPrint1);
jasperPrintList,add(jasperPrint2);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRPdfExporter exporter = new JRPdfExporter();
//Add the list as a Parameter
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
//this will make a bookmark in the exported PDF for each of the reports
exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
exporter.exportReport();
return baos.toByteArray();
}
第二个选项是走子报表路线。基本上,您创建报告的第一页。然后创建报告的第二页。然后在 iReport 中,您可以将子报表添加到摘要带中,传递它需要运行的任何所需信息(即数据库连接、数据源、参数等)。在整个报告的属性下,您需要确保选择Summary on new page,以便子报告将打印在自己的页面上。
【讨论】:
我找到了另一种向报表添加页面的方法(使用 iReport 5.0.1): 您可以只添加一个新的详细区域,将其高度设置为与第一个相同,然后将第二页的内容放在这个新区域中。 实际上,您可以根据需要添加任意数量的详细信息区域,从而创建多页报告。
【讨论】:
要添加新页面,请转到 Ireport 和“添加报告组”,通过添加报告组,您可以添加任意数量的页面。
【讨论】:
我使用 IReport 5.6.0,您可以通过添加另一个详细信息部分来添加页面
【讨论】:
在左侧面板上,右键单击“添加另一个详细信息带”。创建细节带后,右键单击新的细节带,然后单击“最大化带高”
【讨论】: