java - Jasper Reports为子报表设置不同的java bean集合数据适配器

标签 java jasper-reports

有人可以指导我如何为子报告设置不同的数据适配器吗?我似乎找不到使用不同连接的示例/教程。本质上,我正在创建一个基于 JavaBean 集合的报告,并且我正在努力迭代对象的嵌套集合,因此我想我会创建一个子报告,该子报告使用不同的 javabean 集合数据适配器设置为 javabean 对象包含的 ListArray 对象在主要报告中(我希望这很清楚?)。

例如,我可能有对象Supplier,它作为JavaBean集合数据适配器传递到主报告。 Supply对象有一个ListArray成员Products(List prods = new ListArray()类型的东西)。我无法获得初始数据源来选择这个“子对象”,因此我想创建一个子报告并将其作为不同的 javabean 集合数据适配器指向 prods 列表。

不过我似乎遇到了问题。最初,我单独创建了报告(这里没有问题)并尝试将其添加到主报告中。该报告运行良好,但我无法弄清楚如何将连接属性设置为在将其添加为子报告时工作?因此,我在添加子报告时尝试创建一个新报告。这似乎有效,但是当我去添加字段(数据集和查询对话框、javabeans 选项卡)时,我收到“com.jaspersoft.studio_6.0.3.final 未找到类”错误。

我似乎找不到任何有关如何设置子报告数据适配器的示例?

如果您能提供帮助或向我指出相关教程/文档集,非常感谢。顺便说一句,我正在使用 eclipse 插件。

最佳答案

所以基本上您的主报告中应该有一个名为“产品”的字段。

您可以通过 Data-Source-Expression 属性将其传递到子报表。例如

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{Products})

您应该将 Connection-Expression 属性留空。

如果这不起作用,您应该检查您的类是否在 JasperStudio 的类路径中。您可以通过在项目属性中设置正确的构建路径来添加类。

关于java - Jasper Reports为子报表设置不同的java bean集合数据适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29601713/

相关文章:

java - 数据报套接字 setSoTimeout

java - Jasper Reports PDF 不导出西里尔字母值

java - 领域模型映射器应该是静态的吗?

java - 强制 JNI Get<type>ArrayElements 返回指针

jasper-reports - 如何将参数传递给表组件?

java - jasperrepots-fonts jar 的用途是什么以及如何使用它?

dataset - iReport,如何打印不同表的字段

jasper-reports - 为什么有些页面没有打印元素?

java - WSDL 到 Java 还是 Java 到 WSDL?

java - org.apache.catalina.LifecycleException : Failed to start component [StandardEngine[Catalina]. StandardHost[本地主机].StandardContext[]]