JasperReports - 报告可能会自动列出几次?

时间:2015-11-30 17:55:16

标签: java jasper-reports

我的报告只不过是一张发票,上面包含这些物品和相同物品的数据。用户区域要求使用一项功能来选择多个发票,并将它们仅打印到一个生成的PDF中。

我查看过JasperReports网站并尝试通过复制其他JRXML(iReport源代码)的内容来使用子报告,我还尝试将此JRXML作为嵌入内容使用JSON列表对象放在另一个报告中它,但也没有成功。有可能吗?如果是这样,怎么样?

EDITS

生成报告的方法:

public static byte[] gerarPDFViaObjectArray(final String caminhoTemplate, final Object[] array) {
    try {
        final JRBeanArrayDataSource ds = new JRBeanArrayDataSource(array);
        final JasperPrint print = JasperFillManager.fillReport(caminhoTemplate, new HashMap<String, Object>(), ds);
        return JasperExportManager.exportReportToPdf(print);
    } catch (final JRException e) {
        PdfUtils.LOGGER.error("Erro ao gerar arquivo PDF de exportação de detalhe de pedidos.", e.toString());
        throw ComponentUtils.buildComponentException("Erro ao gerar arquivo PDF de exportação de detalhe de pedidos.");
    }
}

Stackoverflow不允许我放置jrxml代码。我基本上想要发生的是,这个数组被打印为一个报告,而不是传递一个我希望报告被多次复制的唯一对象。

1 个答案:

答案 0 :(得分:0)

这真的取决于你想要的最终结果。如果您的用户不介意在同一个pdf中有2个发票,您可以这样做,就像两个或多个发票的报告一样。您只需将报表的数据源与要打印的发票一起执行即可。如果只需要标题和许多子报表作为所需的发票,则可能必须尝试子报表的子报表。

让我解释一下。您有一个所需的发票明细清单,例如报告的明细行。 subdetail的每一行都是子报表,而不是某些文本字段。因此,子报表包含另一个子报表。

因此第一个子报表包含您想要的发票列表和第二个子报表,详细信息。