Java 列表到其他列表jasper报告
我有这个对象结构,就像mi jasper报告中的JavaBean一样使用Java 列表到其他列表jasper报告,java,jasper-reports,javabeans,Java,Jasper Reports,Javabeans,我有这个对象结构,就像mi jasper报告中的JavaBean一样使用 public class Person{ private String name; private String lastname; private List<Job> jobs; } public class Job{ private String jobName; private String companyName; private List<Reponsabi
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;
}
现在我想创建另一个列表,“工作列表”上的“责任列表”,问题是:
如何定义数据源以获取要传递到JRDataSource表达式中的相应作业
我想象这样的情况:
new JRBeanCollectionDataSource(${jobs}.get($index).getResponsabilities())
但是我不能让它工作这个我找到了解决办法: 在列表中,我创建了一个名为jobInstance
<field name="jobInstance" class="com.mypackage.example.Job">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
参考资料:另请参见:您正在迭代记录,而不是尝试获取特定索引?(但与当前工作相关的记录?)我也面临着同样的问题。我在上面提到的类似于bean的Job bean中有一个列表。我为这个pojo添加了列表,并获得了预期的值。现在的问题是这里面有一个列表,不知道如何在我为Job创建的表中显示它。我们需要在jasper report中为另一个列表中的列表添加字段?请帮忙,这取决于你想要什么。我使用这个名单的例子是因为当时我需要一份名单,对于每个人,我也需要展示他的工作职责。你到底想要什么?
<field name="jobInstance" class="com.mypackage.example.Job">
<fieldDescription><![CDATA[_THIS]]></fieldDescription>
</field>
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobInstance}.getResponsabilities())