Jasper Sub报告未在主报告中显示

时间:2010-03-25 10:35:39

标签: jasper-reports ireport

我有一个jasper报告。在主要报告的内部我添加了一个子报告。我使用java类传递集合和参数(不直接使用sql查询)。它正在成功编译。

但是在运行它时只显示主报告。它没有显示子报告。它也没有出现任何错误。它只是给那个地方一些空的空间。 谁能告诉我如何解决这个问题? 在jasper中添加子报表时我必须遵循的所有规则是什么?

4 个答案:

答案 0 :(得分:1)

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

jasper reports - parameters for ‘in clause’

答案 1 :(得分:0)

假设您将数据作为Java Bean集合传递给报表,那么我假设您有一个字段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版本,现在可能已更改。

答案 2 :(得分:0)

但你有预览子报告吗?可能会出现一些错误或单独填写子报告中的任何内容......

答案 3 :(得分:0)

1.创建DataSet 2.创建列表对象 3.列表对象中带有参数和连接的Map字段。