2011-11-29 81 views
0

我是相當新的JasperReports我需要從自定義數據源創建一個報告。爲此,我實現了JRDataSource接口,用兩種方法:JasperReports:訪問自定義數據源

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文件中寫什麼。如何訪問我傳遞給報告的studentsDS變量,在.jrxml文件中?

回答

1

您需要有<detail>頻段。然後,該帶寬內可以使用類似下面的訪問數據源字段:

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

根據您的需求,您可能並不需要創建自己的自定義數據源。通過在JRBeanCollectionDataSource中包裝Java bean,您可以使用上述$F{語法訪問該集合中的Java Bean的屬性。

+0

謝謝!這似乎很簡單。 –