【问题标题】:Jasper Sub reports not showing in main reportJasper Sub 报告未显示在主报告中
【发布时间】:2010-03-25 10:35:38
【问题描述】:

我有一份碧玉报告。在该主报告中,我正在添加一份子报告。我正在使用 java 类传递集合和参数(不直接使用 sql 查询)。编译成功。

但是在运行时它只显示主报告。它没有显示子报告。而且它也没有出错。它只是给那个地方一些空白空间。 谁能告诉我如何解决这个问题? 在 jasper 中添加子报表时我必须遵守哪些规则?

【问题讨论】:

  • 对不起,你的问题太宽泛了。去,读一些文章,有一本关于 JasperReports 的书,一旦遇到具体问题回来。

标签: jasper-reports ireport


【解决方案1】:

也许这会有所帮助 --> 发送 java.util.List 参数:

jasper reports - parameters for ‘in clause’

【讨论】:

    【解决方案2】:

    假设您将数据作为 Java Beans 集合传递给报表,那么我将假设您有一个字段为 java.util.List,它将用于提供子报表。

    您的原始 bean 将类似于:

    public class ParentBean{
         int id;
         String fatherName;
         List<ChildBean> childrenList;
    
         //setters and getters goes here
    }
    

    调用主报表时,需要添加三个字段,最后一个是List类型。

    选择子报表,打开属性对话框,在连接/数据源表达式中,选择使用数据源表达式输入以下内容:

    new JRBeanCollectionDataSource($F{childrenList})
    

    在您的子报告中,使用ChildBean 中的字段。

    注意:对话框名称来自旧的 iReport 版本,现在可能会更改。

    【讨论】:

      【解决方案3】:

      但是您预览过子报告吗?可能会出现一些错误或单独在子报告中不填写任何内容...

      【讨论】:

        【解决方案4】:

        1.创建数据集 2.创建列表对象 3.List Object中带参数和连接的Map字段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-28
          相关资源
          最近更新 更多