2015-03-31 68 views
0

我想用jasper iReport創建簡單的報告。 我不知道如何迭代思想對象C字段。爲此我創建了子報告。我的課的 例子:ireport迭代通過數據收集和訪問字段

public class D { 
    private A a; 
    private B b; 
    private ArrayList<C> c; 
    //getters setters 
} 

public class C { 
    int id;  
    String name; 
    // getters setters 
} 

在主報告中,我宣佈:

<subreport> 
..... 
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{c})]]></dataSourceExpression> 
<subreportExpression><![CDATA["C:\\path\\report1_subreport2.jasper"]]></subreportExpression> 
</subreport> 

在子報告:

<field name="c" class="java.util.Collections"/> 

我的問題:如何訪問C類的領域?

我試圖將類java.util.Collections更改爲C,以創建名稱爲C但沒有任何幫助的字段。

回答

0

當你定義的字段,如下所示

<field name="c.id" class="java.lang.String"/>

<field name="c.name" class="java.lang.String"/>

其中c爲對象,並標識和名稱是C類的領域 另外,還要在變化做類中的代碼。

+0

這是解決方案。謝謝你的幫助。 – Gurult 2017-08-28 13:22:26