如何在jasper报告中显示少于5行的数据 [英] how to display data less than 5 row in jasper reports

查看:125
本文介绍了如何在jasper报告中显示少于5行的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个报告表。我已将其设置为每页显示5行数据。现在的问题是,当数据少于5行时,表格将不会出现。

I have created a report table. I have set it to display 5 rows of data per page. The problem now is when there are less than 5 rows of data the table will not appear.

我在每个部分都放了 $ V {REPORT_COUNT}%5 == 0

如何修改此公式,即使行数少于5行,也会显示数据行?

How can I modify this formula so that the data rows will display even though there are less than 5 rows?

推荐答案

很抱歉我之前没有回复,因为我在工作中忙碌了一天。在查看了报表设计之后,我发现分页符功能并不是您真正需要的功能。我刚刚将您所拥有的群组的群组表达式更改为: $ F {PARENT_NAME} +
(($ V {REPORT_COUNT}%5 == 0)?1:2)
并将在新页面上启动参数设置为true。另外,我更改了图表数据。检查以下jrxml数据:

Sorry that I couldn't reply earlier, as I'd a busy day at work. After looking at your report design, I found that 'Page Break' functionality is not something that you really need. I just changed the Group Expression for the group that you have, to : $F{PARENT_NAME} + (($V{REPORT_COUNT} % 5 == 0) ? "1" : "2") and set the 'Start on new page' parameter to true. Also, I changed the Chart data. Check the below jrxml data:

<?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="ChartLineBless" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="P_YEAR" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="P_AGENCY_CODE" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="P_SECTOR_LOOK_CODE" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <field name="PARENT_NAME" class="java.lang.String"/>
    <field name="PARENT_NAME_SECTOR" class="java.lang.String"/>
    <field name="AGENCY_PARENT_CODE" class="java.lang.String"/>
    <field name="AGENCY_CODE" class="java.lang.String"/>
    <field name="AGENCY_NAME" class="java.lang.String"/>
    <field name="YEAR" class="java.lang.String"/>
    <field name="SECTOR_ID" class="java.lang.String"/>
    <field name="SECTOR_NAME" class="java.lang.String"/>
    <field name="DYEAR1" class="java.math.BigDecimal"/>
    <field name="DYEAR2" class="java.math.BigDecimal"/>
    <field name="DYEAR3" class="java.math.BigDecimal"/>
    <field name="DYEAR4" class="java.math.BigDecimal"/>
    <field name="DYEAR5" class="java.lang.String"/>
    <field name="YR1" class="java.math.BigDecimal"/>
    <field name="YR2" class="java.math.BigDecimal"/>
    <field name="YR3" class="java.math.BigDecimal"/>
    <field name="YR4" class="java.math.BigDecimal"/>
    <field name="YR5" class="java.math.BigDecimal"/>
    <variable name="YR1_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum">
        <variableExpression><![CDATA[$F{YR1}]]></variableExpression>
    </variable>
    <variable name="YR2_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum">
        <variableExpression><![CDATA[$F{YR2}]]></variableExpression>
    </variable>
    <variable name="YR3_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum">
        <variableExpression><![CDATA[$F{YR3}]]></variableExpression>
    </variable>
    <variable name="YR4_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum">
        <variableExpression><![CDATA[$F{YR4}]]></variableExpression>
    </variable>
    <variable name="YR5_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum">
        <variableExpression><![CDATA[$F{YR5}]]></variableExpression>
    </variable>
    <group name="agensi" isStartNewPage="true" minHeightToStartNewPage="550">
        <groupExpression><![CDATA[$F{PARENT_NAME} + 
(($V{REPORT_COUNT} % 5 == 0) ? "1" : "2")]]></groupExpression>
        <groupHeader>
            <band height="98">
                <textField>
                    <reportElement x="332" y="84" width="85" height="14"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$F{DYEAR2}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="247" y="84" width="85" height="14"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$F{DYEAR1}]]></textFieldExpression>
                </textField>
                <staticText>
                    <reportElement x="43" y="71" width="204" height="27"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center" verticalAlignment="Middle"/>
                    <text><![CDATA[Agency Name]]></text>
                </staticText>
                <staticText>
                    <reportElement x="10" y="71" width="33" height="27"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center" verticalAlignment="Middle"/>
                    <text><![CDATA[No.]]></text>
                </staticText>
                <textField>
                    <reportElement x="417" y="84" width="85" height="14"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$F{DYEAR3}]]></textFieldExpression>
                </textField>
                <staticText>
                    <reportElement x="247" y="71" width="425" height="13"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <text><![CDATA[Year]]></text>
                </staticText>
                <staticText>
                    <reportElement x="672" y="71" width="85" height="27"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center" verticalAlignment="Middle"/>
                    <text><![CDATA[Total]]></text>
                </staticText>
                <textField>
                    <reportElement x="587" y="84" width="85" height="14"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$F{DYEAR5}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="502" y="84" width="85" height="14"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$F{DYEAR4}]]></textFieldExpression>
                </textField>
                <staticText>
                    <reportElement x="0" y="22" width="802" height="26"/>
                    <textElement textAlignment="Center" verticalAlignment="Middle"/>
                    <text><![CDATA[5 YEAR STATISTICS ON APPLICATION RECEIVED (BY ALL AGENCIES)]]></text>
                </staticText>
            </band>
        </groupHeader>
        <groupFooter>
            <band height="208">
                <printWhenExpression><![CDATA[$V{REPORT_COUNT} % 5 == 0]]></printWhenExpression>
                <textField>
                    <reportElement x="672" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[new Integer($V{YR1_1}.intValue() + $V{YR2_1}.intValue()+
$V{YR3_1}.intValue()+ $V{YR4_1}.intValue())+ $V{YR5_1}.intValue()]]></textFieldExpression>
                </textField>
                <staticText>
                    <reportElement x="10" y="0" width="237" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <text><![CDATA[                                                                   Total]]></text>
                </staticText>
                <textField>
                    <reportElement x="587" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$V{YR5_1}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="502" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$V{YR4_1}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="417" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$V{YR3_1}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="332" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$V{YR2_1}]]></textFieldExpression>
                </textField>
                <textField>
                    <reportElement x="247" y="0" width="85" height="20"/>
                    <box>
                        <pen lineWidth="0.5"/>
                        <topPen lineWidth="0.5"/>
                        <leftPen lineWidth="0.5"/>
                        <bottomPen lineWidth="0.5"/>
                        <rightPen lineWidth="0.5"/>
                    </box>
                    <textElement textAlignment="Center"/>
                    <textFieldExpression><![CDATA[$V{YR1_1}]]></textFieldExpression>
                </textField>
                <lineChart>
                    <chart>
                        <reportElement x="144" y="34" width="549" height="173"/>
                        <chartTitle/>
                        <chartSubtitle/>
                        <chartLegend/>
                    </chart>
                    <categoryDataset>
                        <dataset resetType="Page"/>
                        <categorySeries>
                            <seriesExpression><![CDATA["YEAR1"]]></seriesExpression>
                            <categoryExpression><![CDATA[$F{DYEAR1}]]></categoryExpression>
                            <valueExpression><![CDATA[$V{YR1_1}]]></valueExpression>
                        </categorySeries>
                        <categorySeries>
                            <seriesExpression><![CDATA["Year2"]]></seriesExpression>
                            <categoryExpression><![CDATA[$F{DYEAR2}]]></categoryExpression>
                            <valueExpression><![CDATA[$V{YR2_1}]]></valueExpression>
                        </categorySeries>
                        <categorySeries>
                            <seriesExpression><![CDATA["YEAR3"]]></seriesExpression>
                            <categoryExpression><![CDATA[$F{DYEAR3}]]></categoryExpression>
                            <valueExpression><![CDATA[$V{YR3_1}]]></valueExpression>
                        </categorySeries>
                        <categorySeries>
                            <seriesExpression><![CDATA["YEAR4"]]></seriesExpression>
                            <categoryExpression><![CDATA[$F{DYEAR4}]]></categoryExpression>
                            <valueExpression><![CDATA[$V{YR4_1}]]></valueExpression>
                        </categorySeries>
                        <categorySeries>
                            <seriesExpression><![CDATA["YEAR5"]]></seriesExpression>
                            <categoryExpression><![CDATA[$F{DYEAR5}]]></categoryExpression>
                            <valueExpression><![CDATA[$V{YR5_1}]]></valueExpression>
                        </categorySeries>
                    </categoryDataset>
                    <linePlot>
                        <plot/>
                    </linePlot>
                </lineChart>
                <break>
                    <reportElement x="0" y="206" width="802" height="1"/>
                </break>
            </band>
        </groupFooter>
    </group>
    <background>
        <band splitType="Stretch"/>
    </background>
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement x="43" y="0" width="204" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement/>
                <textFieldExpression><![CDATA[$F{PARENT_NAME_SECTOR}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="247" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$F{YR1}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="332" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$F{YR2}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="417" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$F{YR3}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="502" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$F{YR4}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="587" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$F{YR5}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="10" y="0" width="33" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[$V{COLUMN_COUNT}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="672" y="0" width="85" height="20"/>
                <box>
                    <pen lineWidth="0.5"/>
                    <topPen lineWidth="0.5"/>
                    <leftPen lineWidth="0.5"/>
                    <bottomPen lineWidth="0.5"/>
                    <rightPen lineWidth="0.5"/>
                </box>
                <textElement textAlignment="Center"/>
                <textFieldExpression><![CDATA[new Integer($F{YR1}.intValue() + $F{YR2}.intValue()+ $F{YR3}.intValue()+ $F{YR4}.intValue())+ $F{YR5}.intValue()]]></textFieldExpression>
            </textField>
        </band>
    </detail>
    <columnFooter>
        <band height="23">
            <textField evaluationTime="Report">
                <reportElement x="445" y="3" width="40" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="365" y="3" width="80" height="20"/>
                <textElement textAlignment="Right"/>
                <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
            </textField>
        </band>
    </columnFooter>
</jasperReport>

这篇关于如何在jasper报告中显示少于5行的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆