【问题标题】:Jasper Reports set a different java bean collection data adapter for a sub reportJasper Reports 为子报表设置不同的 java bean 集合数据适配器
【发布时间】:2015-04-13 17:51:08
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

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

    您通过 Data-Source-Expression 属性将其传递给您的子报表。例如

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

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

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

    【讨论】:

    • 太棒了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多