Jasper报告中重复的序列号

时间:2015-08-17 13:34:48

标签: jasper-reports

我使用$ V {REPORT_COUNT}来显示记录的序列号。对于从数据库中提取的每条记录,序列号都会正确显示。

但是,如果打印的一条记录的数据多于可以容纳在页面上的数据,则会显示在下一页上。我也很好,但是再次显示该页面的序列号例如。 3是序列号,如果3不能容纳在同一页面上,则记录将写入下一页,序列号的顺序为1 2 3(第一页)3 4 5等(第二页)。

我希望3在第一页中只显示一次,而不是在第二页中显示。我上传了我的布局图片,我不想显示带圆圈的部分enter image description here我正在使用Ireport设计页面

文本字段属性 这是针对REPORT_COUNT TEXTFIELD

<reportElement
                        mode="Opaque"
                        x="0"
                        y="0"
                        width="15"
                        height="30"
                        backcolor="#D3D3D3"
                        key="textField-9"
                        stretchType="RelativeToBandHeight"
                        positionType="Float"
                        isPrintRepeatedValues="false"
                        isRemoveLineWhenBlank="true"
                        isPrintWhenDetailOverflows="true"/>
                    <box topBorder="Thin" topBorderColor="#000000" leftBorder="Thin" leftBorderColor="#000000" rightBorder="Thin" rightBorderColor="#000000" bottomBorder="Thin" bottomBorderColor="#000000"/>
                    <textElement textAlignment="Center" verticalAlignment="Top">
                        <font fontName="Times New Roman" pdfFontName="Times-Bold" size="10" isBold="true"/>
                    </textElement>
                <textFieldExpression   class="java.lang.Integer"><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression>
                </textField>

显示数据的右侧文本框的此属性:

<textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                    <reportElement
                        mode="Opaque"
                        x="12"
                        y="0"
                        width="523"
                        height="13"
                        forecolor="#000000"
                        backcolor="#D3D3D3"
                        key="textField-2"
                        positionType="Float"
                        isRemoveLineWhenBlank="true"/>
                    <box topBorder="Thin" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="Thin" rightBorderColor="#000000" bottomBorder="Thin" bottomBorderColor="#000000"/>
                    <textElement verticalAlignment="Middle">
                        <font fontName="SansSerif" pdfFontName="Times-Bold" size="8" isBold="true"/>
                    </textElement>
                <textFieldExpression   class="java.lang.String"><![CDATA["   "+$F{vesselName}+($F{type} == null ? "" : " ("+$F{type}+")")]]></textFieldExpression>
                </textField>

2 个答案:

答案 0 :(得分:0)

为您的变量设置一些属性:

<variable name="RECORD_COUNT" class="java.lang.String" incrementType="Column" calculation="Count">
    <initialValueExpression><![CDATA[1]]></initialValueExpression>
</variable>

答案 1 :(得分:0)

您能告诉我们您为文本字段设置的属性吗?

我刚刚对您的方案进行了粗略设计,但我没有遇到您的问题。 row_count值没有重复。

参见下图。 enter image description here