1

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

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

4

4 回答 4

1
于 2012-01-06T18:26:06.617 回答
0

1.创建数据集 2.创建列表对象 3.映射字段与列表对象中的参数和连接。

于 2012-10-31T09:26:47.710 回答
0

假设您将数据作为 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 版本,现在可能会更改。

于 2010-03-25T16:51:46.630 回答
0

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

于 2011-12-26T14:56:28.443 回答