Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表到其他列表jasper报告_Java_Jasper Reports_Javabeans - Fatal编程技术网

Java 列表到其他列表jasper报告

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

我有这个对象结构,就像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<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())