Как да избегнем липсващата граница на клетката, когато записът е разделен между 2 страници?

Когато последният запис в дадена страница е твърде дълъг, той ще се покаже на следващата страница, когато покаже целия ред на таблицата липсва.

Това е резултатът:

въведете описание на изображението тук

Как да преместя последния запис (№ 26) на следващата страница или как мога да покажа реда?


person Hariawan    schedule 15.01.2012    source източник


Отговори (2)


Можете да поставите елемента staticText без текст зад елемента textField. Трябва да зададете свойството stretchType със стойност RelativeToTallestObject и свойството isPrintWhenDetailOverflows с вярнастойност.

Образецът:

<detail>
    <band height="20" splitType="Stretch">
        <staticText>
            <reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="100" height="20" isPrintWhenDetailOverflows="true"/>
            <box>
                <leftPen lineWidth="1.0"/>
                <bottomPen lineWidth="1.0"/>
                <rightPen lineWidth="1.0"/>
            </box>
            <textElement/>
            <text><![CDATA[]]></text>
        </staticText>
        <textField>
            <reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="100" height="20"/>
            <box>
                <leftPen lineWidth="1.0"/>
                <bottomPen lineWidth="1.0"/>
                <rightPen lineWidth="1.0"/>
            </box>
            <textElement/>
            <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
        </textField>

В резултат на това ще получите вертикалната рамка на втората страница.

Текстът от получения PDF файл с вертикална рамка след използване на staticText

Резултатът преди добавянето на второто staticText беше (вертикалната рамка на втората страница липсва):

Текстът от получения PDF файл без вертикална рамка преди използване на staticText

person Alex K    schedule 15.01.2012
comment
Опитах, начинът е успешен, но има повтарящи се редове за всеки ред. Как да се избегне това?. това са моите снимки i.stack.imgur.com/mFIKl.jpg - person Amin SCO; 31.10.2012

По-добрият начин е да се гарантира, че новите елементи в детайлната лента (или която и да е лента) ще бъдат генерирани на следващата страница чрез настройка, но не и в текстовото поле. За групата, в която се намира текстовото поле, можете да зададете Тип разделяне на Предотвратяване. ако зададете това на детайлната лента и редът трябва да прелее към следващата страница, това ще премести целия ред на следващата страница.

person martinnovoty    schedule 23.10.2012