Jasper reports 有人能告诉我如何将数据源添加到;第「;一本报告书?

Jasper reports 有人能告诉我如何将数据源添加到;第「;一本报告书?,jasper-reports,field,parameter-passing,datasource,subreport,Jasper Reports,Field,Parameter Passing,Datasource,Subreport,我试图将数据源添加到报告书的“部分”。或者我应该说,将信息传递到报告书(或者为什么不,主报告)的“部分”上的字段。我逐渐意识到,MainReport和Subreport并不是这样做的。这是jasper 6.2.0的一个新概念,因此不完全是旧的已知子报表和传统的做事方式(或者是吗?不知道…,如果你不主要,请解释一下,谢谢) 我已经阅读了很多关于如何通过jasper参数传递数据源,然后利用中引用的那些参数的示例(请参见这里的一个),但在处理报告书的“部分”时,这种方式似乎并不相同 我可以提供更多信息

我试图将数据源添加到报告书的“部分”。或者我应该说,将信息传递到报告书(或者为什么不,主报告)的“部分”上的字段。我逐渐意识到,MainReport和Subreport并不是这样做的。这是jasper 6.2.0的一个新概念,因此不完全是旧的已知子报表和传统的做事方式(或者是吗?不知道…,如果你不主要,请解释一下,谢谢)

我已经阅读了很多关于如何通过jasper参数传递数据源,然后利用中引用的那些参数的示例(请参见这里的一个),但在处理报告书的“部分”时,这种方式似乎并不相同

我可以提供更多信息,但本质上我需要的是将该数据源传递给引用另一个名为Content.jrxml的报告(或子报告,如果您愿意)的部分,以便另一个报告可以打印/呈现这些字段的正确信息。此报告包含字段,没有信息传递到这些字段。我将报告簿打印为pdf。这些字段显示为空

然而,我能够成功地传递参数只是传递字段值和数据源,这是我的一个问题

有没有人以前做过或处理过这个问题,或者知道一个好的示例/教程可以为我指出解决方案

请帮帮我,我不知道还能做什么:(


提前感谢!

对不起,我花了很长时间才发回。我在Theodor(Jasper API主要作者给我一些见解)之后找到了解决方案,下面就是它

因此,为了让Jasper报表引擎处理传递给报表的多个数据源,您必须考虑两个基本因素:

首先,对于要传递到报表的每个数据源,您都需要创建一个新实例。Jasper引擎会使用每个数据源,迭代其中的所有元素。当它到达下一页时,将没有任何数据、字段或信息可供读取并填充该特定页上的字段。因此,信息根据报表模板配置,不会显示(null)或“空白”

最后,确保在填充报表时传递新的JREPTYDATASOURCE(),并将数据源实例作为参数传递,随后作为每个页面的子参数传递。如下所示:

        jasperPrint = JasperFillManager.fillReport(jasperReport, jasperParameter,new JREmptyDataSource() );//new JREmptyDataSource()
这样,主报表或包装报表(书籍)就不会使用页面实例的任何数据源(当然,如果不需要的话),每个页面都会通过参数获得一个数据源

最终,在运行时,书中的页面可以单独使用每个数据源,而不会相互影响

让我知道这是否有意义


谢谢

您好,很抱歉花了这么长时间。回答您的问题我用了,但这还不够。看看我的答案