2017-04-24 105 views
-1

我希望能夠創建以下碧玉報告與碧玉多個圖表報告

與一般信息 然後多個圖表(他們的動態數)

目前我只有一個圖表主報告在本報告中,我向它提供了一個對象列表(來自java),其中每個對象都有一個「鍵」(這是一個日期)和一個數值是一個數字

對於這個單獨的圖表,所有工作正常, 現在,當我想繪製多個圖表時,我不知道如何進展

從其他職位我看到一些使用「子報告」,並在他們的地方圖表

我想這分報告,圖表做多次出現,但空 這是我的數據集或多或少

class ChartData{ 
    String name; 
    List<ChartItem> items; 
} 


class ChartItem{ 
    Date key; 
    Integer value; 
} 

如何將數據從主報告傳遞到子報告? 我如何在子報告中使用它? 我會用「名」的成員如圖表上方的標題

回答

0

發現

在你必須使用一個名爲「∎本」

保留字段的子報告您必須添加此線

<field name="_THIS" class="some.class.type"/> 

例如:

<field name="_THIS" class="com.company.ChartData"/> 
or 
<field name="_THIS" class="java.lang.Integer"/> 

這字段將在運行時用DataSet中的當前項目填充。

這是子報告的主要報告

<subreport> 
    <reportElement x="0" y="23" width="572" height="118" uuid="27e38f7e-9329-4c77-a590-fe1b7eabef85"/> 
    <dataSourceExpression><![CDATA[$P{GAPS}]]></dataSourceExpression> 
    <subreportExpression><![CDATA["sub_gaps.jasper"]]></subreportExpression> 
</subreport> 

其中「空白」是參數的,我使用從Java代碼

<parameter name="GAPS" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> 
注入數據的名稱內的部