【发布时间】:2021-03-06 13:39:24
【问题描述】:
我正在使用 Jaspersoft Studio 6.11 和 Jasper Server 7.5.0。
我想创建一个使用报表参数的数据源。 我的数据源基于此示例: https://community.jaspersoft.com/wiki/how-create-and-use-jrdatasource-adapter
public class MyImplementation implements JRDataSource {
//This should be initialized from report parameter $P{param}= "Frank,Joseph,Marco,Carl,Lenny,Homer,Teodor,Leopold"
private static String param;
private static String[] nameArray;
private static final Integer[] ageArray = {50,30,40,46,44,26,32,21};
private int counter = -1;
private HashMap<String, Integer> fieldsNumber = new HashMap<String, Integer>();
private int lastFieldsAdded = 0;
@Override
public boolean next() throws JRException {
if (counter<nameArray.length-1) {
counter++;
return true;
}
return false;
}
@Override
public Object getFieldValue(JRField jrField) throws JRException {
Integer fieldIndex;
if (fieldsNumber.containsKey(jrField.getName()))
fieldIndex = fieldsNumber.get(jrField.getName());
else {
fieldsNumber.put(jrField.getName(), lastFieldsAdded);
fieldIndex = lastFieldsAdded;
lastFieldsAdded ++;
}
if (fieldIndex == 0) return nameArray[counter];
else if (fieldIndex == 1) return ageArray[counter];
return "";
}
public static JRDataSource getDataSource(){
nameArray = param.split(",")
return new MyImplementation();
}
}
String param 应该使用报告参数 $P{param} 值初始化。
怎么做?
如何在自定义数据源中使用报表参数?
【问题讨论】:
标签: java jasper-reports datasource