2011-01-28 45 views
0

例如,我有Master报告,其中包含多个多页子报告。我希望它们按照在主报告中设置的顺序显示(打印第一个子报告,然后打印第二个报告)。当我将这些子报表添加到主数据带中时,它们互相覆盖。JasperReports:不可恢复的多页子报告

我该怎么做这样的事情?

谢谢

+0

刚抬起头,如果你找到了解决问题的办法,你应该把它作为答案加入,并将其标记为已接受。而不是更新你的问题。通过这种方式,很明显您找到的解决方案适用于未来的用户。 – 2011-01-28 14:35:07

回答

0

你有没有尝试过把每个子报表放在自己的细节带?或者,如果要将子集放入数组中,请包含另一个变量(如“reportName”或“reportNumber”),并将该子变量的子报告细节带组合起来,这样每次变量都会为新子报告创建一个新组。这样做也可以让您为每个子报表设置一个组头,然后您可以使用变量和/参数进行自定义。只是一个想法。

0

我找到了满意的解决方案: 我填我的所有报告分开,但JRPdfExporter导出它们:

  List jasList = new ArrayList(); 
      jasList.add(jp_1); 
      jasList.add(jp_2); 
      jasList.add(jp_3); 
      JRPdfExporter exporter = new JRPdfExporter(); 
      exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasList); 
      exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "batch.pdf"); 
      exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE); 
      exporter.exportReport(); 

他们将在列表中的顺序进行排序和书签将产生