我是 JasperReports 的新手,我需要从自定义数据源创建报告。为此,我实现了JRDataSource
接口,使用了两种方法:
public class FacultyStudentsDS implements JRDataSource {
@Override
public Object getFieldValue(JRField field) throws JRException {
...
}
@Override
public boolean next() throws JRException {
...
}
}
然后我尝试以这种方式创建PDF文档:
pdf = JasperRunManager.runReportToPdf(reportFile.getAbsolutePath(),
new HashMap(), studentsDS);
我的问题是我不知道如何访问我传递给报告的数据。我不知道在 .jrxml 文件中写什么。如何在 .jrxml 文件中访问我传递给报告的studentsDS
变量?
答案 0 :(得分:1)
您需要拥有<detail>
个频段。然后,在该频段内,您可以使用以下内容访问数据源中的字段:
<textFieldExpression class="java.lang.String"><![CDATA[$F{dataSourceField}]]></textFieldExpression>
根据您的需要,您可能不需要创建自己的自定义数据源。通过将Collection
Java bean包装在JRBeanCollectionDataSource
中,您可以使用上述$F{
语法访问该集合中的Java bean的属性。