List 到其他 List jasper 报告
List into other List jasper report
我有这个对象结构,在 mi jasper 报告中使用 Java Bean,
public class Person{
private String name;
private String lastname;
private List<Job> jobs;
}
public class Job{
private String jobName;
private String companyName;
private List<Reponsability> responsabilities;
}
所有 class 对应 setters
和 getters
当我在 jasper 报告中创建列表时,我这样定义 "job list" JRDataSource expression
:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobs})
现在我想在 "job list" 上创建另一个列表 "responsibilities list",问题是:
如何定义数据源以获取相应的作业传递给JRDataSource Expression
?
我想象的是这样的:
new JRBeanCollectionDataSource(${jobs}.get($index).getResponsabilities())
但我无法让它工作
我找到了解决方法:
进入列表,我创建了一个名为jobInstance
的变量
<field name="jobInstance" class="com.mypackage.example.Job">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
然后当我为 responsibilities 列表设置数据源时:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobInstance}.getResponsabilities())
参考文献:https://community.jaspersoft.com/questions/508346/getting-current-object
我有这个对象结构,在 mi jasper 报告中使用 Java Bean,
public class Person{
private String name;
private String lastname;
private List<Job> jobs;
}
public class Job{
private String jobName;
private String companyName;
private List<Reponsability> responsabilities;
}
所有 class 对应 setters
和 getters
当我在 jasper 报告中创建列表时,我这样定义 "job list" JRDataSource expression
:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobs})
现在我想在 "job list" 上创建另一个列表 "responsibilities list",问题是:
如何定义数据源以获取相应的作业传递给JRDataSource Expression
?
我想象的是这样的:
new JRBeanCollectionDataSource(${jobs}.get($index).getResponsabilities())
但我无法让它工作
我找到了解决方法:
进入列表,我创建了一个名为jobInstance
的变量 <field name="jobInstance" class="com.mypackage.example.Job">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
然后当我为 responsibilities 列表设置数据源时:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobInstance}.getResponsabilities())
参考文献:https://community.jaspersoft.com/questions/508346/getting-current-object