我试图通过传递自定义数据源来填充表.我创建了一个包含表格的简单报告.报告它自己从ms sql数据库获取数据.我编写了一个类似于本例中的类的java类.但我在桌上没有任何价值.在该示例中没有scriptlet.我检查了(String) this.getFieldValue("KN_FormelGG"); 代码行.它从字段中获取数据并可以在报告中显示.所以我猜bean数据源没有填充.我在a中调用了填充表方法afterGroupInit.如何在jasper中使用java中的数据集合?我也尝试在数据集和查询对话框中添加java bean ,但它也没有帮助我.我应该将scriptlet添加到子报表/表吗?我的问题的主要重点是在scriptlet中具有自定义数据源.我解决了另一个问题,但我仍然没有得到答案.我添加$P{FieldDataSource}.getData()了检查数据,但它提供了null.
java class 1:
package testProjektIman.scriptlets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class FillTable extends JRDefaultScriptlet {
@Override
public void afterGroupInit(final String id)
throws JRScriptletException {
fillTable();
}
public ArrayList<String> splitGGArray(final String kNFormelGG) {
ArrayList<String> fieldNames = new ArrayList<>();
String[] array = (kNFormelGG.split(" "));
for (String sub : array) {
fieldNames.add(sub);
}
return …Run Code Online (Sandbox Code Playgroud)