【问题标题】:JasperReports: access custom data sourceJasperReports:访问自定义数据源
【发布时间】:2012-06-20 15:30:33
【问题描述】:

我是 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 变量?

【问题讨论】:

    标签: java jasper-reports datasource


    【解决方案1】:

    您需要有<detail> 乐队。然后在该范围内,您可以使用以下内容访问数据源中的字段:

    <textFieldExpression class="java.lang.String"><![CDATA[$F{dataSourceField}]]></textFieldExpression>
    

    根据您的需要,您可能不需要创建自己的自定义数据源。通过将 Collection 的 Java bean 包装在 JRBeanCollectionDataSource 中,您可以使用上述 $F{ 语法访问该集合中 Java bean 的属性。

    【讨论】:

    • 谢谢!看起来很简单。
    猜你喜欢
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多