在子报表中使用ListOfArrayDataSource

时间:2011-11-30 14:38:36

标签: jasper-reports

我有两个Jaser报告:

  • MasterReport.jrxml
  • SubReport.jrxml

我有ListOfArrayDataSouce作为参数传递给MasterReport。在SubReport元素中,我选择DataSourceExpression作为上述参数。

我的问题是,如何在子报表中使用传递的值?

E.g。我想创建一个折线图元素;我如何引用传递的数据?

谢谢, krisy

1 个答案:

答案 0 :(得分:0)

您需要在子报表中创建与给定构造函数的名称对应的字段。我将用一些代码解释一下:

String[] rec1 = {"value11", "value12"};
String[] rec2 = {"value21", "value22"};
String[] rec3 = {"value31", "value32"};

List<Object[]> list = new ArrayList<>();
list.add(rec1);
list.add(rec2);
list.add(rec3);

JRDataSource subinformeDatasource = new ListOfArrayDataSource(
    list,
    new String[]{"field1", "field2"});

根据上面的代码,子报表必须包含字段field1field2。然后,您必须将$F{field1}$F{field2}指定为TextField的表达式(在子报表的详细信息部分中)。