0

我在我的主报告中创建了一个子数据集,并使用它来创建一个列表。该列表显示了我的数据集中的所有行,但是有没有办法在列表组件中放置总行数。

使用该$V{REPORT_COUNT}变量,我可以获得总计数,但它会重复多次(作为子数据集中的行数)

4

2 回答 2

0

创建第二个列表将其设置为使用相同的数据集并仅将其$V{REPORT_COUNT}放入其中。将位置类型设置为浮动

第二种选择是使用表格代替列表,因为它具有允许数据集的页眉或页脚的条带

于 2013-07-05T20:58:07.090 回答
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>

然后有点像 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>

这将创建一个基于零的计数器,用于保存项目的总数。然后通过告诉报告不要重复打印,您最终会得到一个代表子数据集中项目总数的项目

于 2017-04-28T21:31:32.640 回答