我在我的主报告中创建了一个子数据集,并使用它来创建一个列表。该列表显示了我的数据集中的所有行,但是有没有办法在列表组件中放置总行数。
使用该$V{REPORT_COUNT}
变量,我可以获得总计数,但它会重复多次(作为子数据集中的行数)
我在我的主报告中创建了一个子数据集,并使用它来创建一个列表。该列表显示了我的数据集中的所有行,但是有没有办法在列表组件中放置总行数。
使用该$V{REPORT_COUNT}
变量,我可以获得总计数,但它会重复多次(作为子数据集中的行数)
创建第二个列表将其设置为使用相同的数据集并仅将其$V{REPORT_COUNT}
放入其中。将位置类型设置为浮动
第二种选择是使用表格代替列表,因为它具有允许数据集的页眉或页脚的条带
正如用户 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>
然后有点像 Mike Noland 在他的回答中所说的,创建一个指向与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>
这将创建一个基于零的计数器,用于保存项目的总数。然后通过告诉报告不要重复打印,您最终会得到一个代表子数据集中项目总数的项目