有一种情况,我将我的页面分为两列。我希望 pageNumber 从 1 开始递增。例如,第一页应该有 1,2,第二页应该有 3、4,依此类推。请告诉我如何操作 pagenumber 字段。
问问题
1125 次
1 回答
2
您可以创建新变量来计算列数。
变量定义可以是这样的:
名称:变量
增量类型:列
计算:计数
重置类型:报表
表达式: $V{variable} + 1
初始值表达式: 0
样本:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport .. columnCount="2" .. isFloatColumnFooter="true">
<queryString>
<![CDATA[SELECT id, city, street FROM address]]>
</queryString>
<field name="ID" class="java.lang.Integer"/>
<field name="CITY" class="java.lang.String"/>
<field name="STREET" class="java.lang.String"/>
<variable name="columnsCount" class="java.lang.Integer" incrementType="Column" calculation="Count">
<variableExpression><![CDATA[$V{columnsCount} + 1]]></variableExpression>
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<detail>
<band height="63" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="48" height="63"/>
<textElement/>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="48" y="0" width="100" height="63"/>
<textElement/>
<textFieldExpression><![CDATA[$F{CITY}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="148" y="0" width="128" height="63"/>
<textElement/>
<textFieldExpression><![CDATA[$F{STREET}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="50">
<textField>
<reportElement x="156" y="30" width="80" height="20"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["Page "+$V{columnsCount}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement x="236" y="30" width="40" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[" " + $V{columnsCount}]]></textFieldExpression>
</textField>
</band>
</columnFooter>
</jasperReport>
结果将是:
于 2012-10-09T07:50:16.060 回答