当前位置: 首页 > 知识库问答 >
问题:

列表到其他列表碧玉报告

汪晟睿
2023-03-14

我有这个对象结构,像 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;
}

具有相应settersgetters的所有类

当我在jasper报告中创建列表时,我这样定义“作业列表”JRDataSource表达式

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobs})

现在我要创建另一个列表,“职责列表”放在“工作列表”上,问题是:

我如何定义数据源以获得要传递到JRDataSource表达式中的相应作业?

我想象这样的事情:

new JRBeanCollectionDataSource(${jobs}.get($index).getResponsabilities())

但我不能让它工作

共有1个答案

姚凯歌
2023-03-14

我找到了这样做的解决方案:

在列表中,我创建了一个名为jobInstance的变量

    <field name="jobInstance" class="com.mypackage.example.Job">
        <fieldDescription><![CDATA[_THIS]]></fieldDescription>
    </field>

然后,当我为责任列表设置数据源时,会这样做:

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobInstance}.getResponsabilities())

参考文献:https://community.jaspersoft.com/questions/508346/getting-current-object

 类似资料:
  • 我将页码信息从主报表传递到页脚子报表。在主报表中,我已经声明了子报表参数pageTot和pageNum。它们通过向导映射到主报告$V{PAGE _ COUNT}和$V{PAGE _ NUMBER}中的参数。在子报表中,我声明了两个参数pageNum和pageTot。在它们的参数属性中,我取消了将use作为提示,并将它们都设置为java.lang.integer类型。然后,我替换了文本字段的文本字段

  • 我有一颗春豆: 在jrxml中: 但这抛出了一个 NullPointerException,因为 customerWrapperCache 是空的。 正确的做法是什么?

  • ...但我得到: 我不知道如何应用这些信息。首先,我认为我需要为列表声明一些额外的映射(在同一个映射器类中),所以MapStruct知道如何像这样映射列表类型的每个字段: ...但我收到错误消息

  • 使用 iReport 3.7.5,我预览了 Jasper Report,我想将其另存为 PDF 文件。PDF 文件已创建,但 PDF 文件上缺少粗体和斜体格式。 请告诉我如何保存正确的PDF文件。

  • 问题内容: 我在寻找解决此问题的方法时遇到问题。运行它后,我的代码可以正常工作。它假定将我的sql数据库中的数据显示到jtable上,并且有一个按钮将触发显示jasper报告,但存在一点问题,它始终向我显示消息“文档无页面”。这是为什么?有人可以帮我解决我的问题吗?我做错什么了? 这是我的代码: 这是XML报告: 问题答案: 首先,资源管理… 如果可以,您应该只打开与数据库的单个连接。确保在关闭应

  • 问题内容: 我想在碧玉报告中显示图像。我在.jrxml上具有以下内容: 图像logo.jpg与.jrxml位于同一目录中。只是说这对我不起作用。我在Google上搜索了一下,发现jasper报告将我放在.jrxml中的内容视为到JVM目录的相对路径,并且要更改此设置,我需要将返回文件的FileResolver作为“ REPORT_FILE_RESOLVER”参数传递。因此,我在.java中进行了以