2013-07-05 31 views
0

我在主報告中創建了一個子數據集,並使用它創建列表。該列表顯示了我的數據集中的所有行,但有沒有辦法將總行數計入列表組件。子數據集 - 列表中的總行數

隨着$V{REPORT_COUNT}變量,我可以得到總計數,但其重複多次(如中行的子集數)

回答

0

創建第二個列表其設置爲使用相同的數據集,並把只有$V{REPORT_COUNT}在裏面。設置位置類型浮動

第二個選項是使用到位名單的,因爲它有條紋,讓你的數據集的頁眉或頁腳

+0

您提到的列表方法並不奏效。我將文本字段的位置類型設置爲浮動。是對的嗎? – Kathir

+0

不,你應該將列表框的位置類型設置爲float(所以它會是你第一個上一個框後的下一個興奮點)。 –

0

正如指出的用戶jmurray這裏的答案:http://community.jaspersoft.com/questions/514827/row-count

在你subDataSet,創建一個變量:

<variable name="ROW_COUNTER" class="java.lang.Integer" incrementType="Report" calculation="Count"> 
    <variableExpression><![CDATA[new java.lang.Integer(1)]]></variableExpression> 
    <initialValueExpression><![CDATA[new java.lang.Integer(0)]]></initialValueExpression> 
</variable> 

然後有點像邁克·諾蘭已經在他的答案,創建指向同一subDataSet與原始名單有textField列表:

<textField> 
    <reportElement isPrintRepeatedValues="false" x="0" y="0" width="100" height="11"/> 
    <textFieldExpression><![CDATA[new java.lang.Integer($V{ROW_COUNTER}.intValue()+1)]]></textFieldExpression> 
</textField> 

這將創建一個擁有項目的總數從零開始的計數器。然後通過告訴報告不打印重複數據,最終得到一個表示您的subDataSet中項目總數的項目。