我有两个Jaser报告:
MasterReport.jrxml
SubReport.jrxml
我有ListOfArrayDataSouce
作为参数传递给MasterReport
。在SubReport
元素中,我选择DataSourceExpression
作为上述参数。
我的问题是,如何在子报表中使用传递的值?
E.g。我想创建一个折线图元素;我如何引用传递的数据?
谢谢, krisy
答案 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"});
根据上面的代码,子报表必须包含字段field1
和field2
。然后,您必须将$F{field1}
或$F{field2}
指定为TextField的表达式(在子报表的详细信息部分中)。