谁能请指导我如何创建/传递一个java bean数据源到报告,以便可以填充数据...
好心指导...
更新部分:-
public class TestDataSource
{
public static void main(String[] args)
{
try {
JasperDesign jasperDesign = JRXmlLoader.load("D:\\jasperReports\\subReportDataSource.jrxml");
JasperReport jasperReport =(JasperReport)JasperCompileManager.compileReport(jasperDesign);
Map<String,Object> parameters = new HashMap<String,Object>();
parameters.put ("Title",generateCollection());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(generateCollection()));
JasperViewer.viewReport(jasperPrint);
}catch(Exception e)
{
e.printStackTrace();
}
}
public static ArrayList<PersonBean> generateCollection()
{
ArrayList<PersonBean> arrlist=new ArrayList<PersonBean>();
arrlist.add(new PersonBean("A", 20));
arrlist.add(new PersonBean("B",30));
arrlist.add(new PersonBean("C",40));
arrlist.add(new PersonBean("D",50));
arrlist.add(new PersonBean("E",40));
arrlist.add(new PersonBean("F",60));
return arrlist;
}
如果您已经有了一个数据源,那么您可以在填写报告时通过param Map传递您的列表/Map。
Map<String, Object> param = new HashMap<String, Object>();
param.put("SUB_DATA_SOURCE", yourList);
JasperFillManager.fillReport(jasperReport, param,
new JRBeanCollectionDataSource(yourMainListHere));
这样做时,您必须在主报表中创建一个参数,其名称与在param Map中设置的名称相同,并为其提供一个类型类(在我的例子中是列表)。
您必须创建子报表元素,并将连接类型设置为“使用数据源表达式”,在“数据源表达式”中设置如下:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{SUB_DATA_SOURCE})
问题内容: 我一直在寻找答案,但只能找到答案。 我有一个按钮可以选择。没有代码,我通过“接口”构建器进行设置。上,我有一个按钮,可以自行关闭 我想从视图传递回时传递一个字符串。我该怎么做呢?另外,我正在使用swift。 提前致谢! 问题答案: 有两种常见的模式,这两种模式都消除了viewController2明确了解viewController1的需要(这对于可维护性非常重要): 为您的viewC
我是Android编程的新手,我正在学习一些组件和架构。 我现在在测试碎片。
我有一个参数,可以有n个输入,这是分开的。例如:asd, qwe, zxc现在我需要根据存储过程中传递的参数创建一个sql。例如:从表1中选择asd, qwe, zxc这在sybase ase 15.7中是否可能感谢Rinu
问题内容: 我设法根据矩阵内的一个指定数组(即数组内的数组)生成了一系列列表项。 我希望能够将一个变量(表示一个数组)传递给一个函数,以便它可以根据传递到其中的数组吐出一个无序列表,其中填充了列表项。 问题: 该函数一次只能使用一个数组 它还会在标记中产生逗号(大概是因为它将数组转换为字符串) 解决方案需要: 假设DOM中不存在无序列表 能够接受传递到它的不同阵列(,等) 生成没有逗号的列表项 J
相关问题: 在Flutter中在小部件之间传递数据的最佳方式 在小部件之间抖动传递数据? 颤振/如何在StateFulWidget之间传递和获取数据
问题内容: 有没有一种方法可以创建对象数组作为构造函数或方法的一部分?我真的不知道该如何措辞,因此我提供了一个示例。我有一个枚举,并且其中一个字段是数字数组。这是我尝试过的: 编译器说方括号{}无效,应将其删除。有没有一种方法可以将数组作为参数传递而无需事先创建对象数组? 问题答案: 您可以尝试使用。