在 JasperReport 的报告中,我一直在使用表
显示数据在列页脚中,我想显示每页的总记录数
Page 1 Showing 25 records out of 65
Page 2 Showing 50 records out of 65
Page 3 Showing 15 records out of 65
我使用列数来显示每页的记录数,但报告中的总记录数应该是什么
Page 1 Showing 25 records out of 25
Page 2 Showing 50 records out of 50
Page 3 Showing 15 records out of 65
我应该使用哪个变量或添加任何条件?
答案 0 :(得分:0)
借助内置变量 $V{REPORT_COUNT}
和自定义变量,您可以轻松解决此问题。
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="no_of_rows_on_page" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="da1c0873-1b22-4592-93a1-c9ffbdcec490">
<queryString>
<![CDATA[SELECT name FROM PRODUCT]]>
</queryString>
<field name="name" class="java.lang.String"/>
<variable name="rowsOnPage" class="java.lang.Integer" resetType="Page">
<variableExpression><![CDATA[$V{rowsOnPage} + 1]]></variableExpression>
<initialValueExpression><![CDATA[0]]></initialValueExpression>
</variable>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement uuid="dc686db4-cb13-46c2-8420-e9ba198116e3" x="0" y="0" width="185" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</band>
</detail>
<pageFooter>
<band height="20">
<textField>
<reportElement uuid="0940bce6-118f-47bc-81f6-ae03ca55ddcb" x="205" y="0" width="112" height="20"/>
<textElement/>
<textFieldExpression><![CDATA["Showing " + $V{rowsOnPage} + " records out of "]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement uuid="b5f1da29-7ac8-40a9-889e-e306a0cd26fe" x="317" y="0" width="60" height="20"/>
<box leftPadding="2"/>
<textElement/>
<textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="fb9ca24d-844e-4921-8a79-85c2ec2d2888" x="159" y="0" width="46" height="20"/>
<textElement/>
<textFieldExpression><![CDATA["Page " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>
通过预览模式在 iReport 中生成的输出结果
我在页脚频段添加了3个 textFields :
第一个用于显示当前页码。表达式为: "Page " + $V{PAGE_NUMBER}
,评估时间 现在
第二个用于显示当前页面上的行数。表达式为:`“显示”+ $ V {rowsOnPage} +“记录”和评估时间 现在
第三个用于显示整个报告中的总行数。表达式为: $V{REPORT_COUNT}
,评估时间为报告。
如您所见,我已添加自定义变量 rowsOnPage 以计算页面上的行数。
变量定义:
$V{rowsOnPage} + 1
详细了解:
Variables
Built-in variables in JasperReports Ultimate Guide
答案 1 :(得分:0)
变量&#34; $ V {REPORT_COUNT}&#34;可以解决您的问题,在评估时使用它&#34;报告&#34;。
答案 2 :(得分:-1)
如果你正在使用Ireport设计工具,那么你可以通过从调色板中放置Y的Page X来非常容易地显示总数。
Ireport 5.5在Window菜单下有调色板。