我有这个对象结构,像 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;
}
具有相应setters
和getters
的所有类
当我在jasper报告中创建列表时,我这样定义“作业列表”JRDataSource表达式
:
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{jobs})
现在我要创建另一个列表,“职责列表”放在“工作列表”上,问题是:
我如何定义数据源以获得要传递到JRDataSource表达式
中的相应作业?
我想象这样的事情:
new JRBeanCollectionDataSource(${jobs}.get($index).getResponsabilities())
但我不能让它工作
我找到了这样做的解决方案:
在列表中,我创建了一个名为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中进行了以