How to avoid of missing cell's border when a record is separated between 2 pages?

后端 未结 2 1396
你的背包
你的背包 2020-12-09 07:06

When the last entry in a page is too long, It will show in next page, when it show all the table line is missing.

This is the result:

相关标签:
2条回答
  • 2020-12-09 07:24

    You can put the staticText element without text behind the textField element. You should set stretchType property with RelativeToTallestObject value and isPrintWhenDetailOverflows property with true value.

    The sample:

    <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>
    

    As result you will get the vertical border at the second page.

    The text from resulting PDF file with vertical border after using the staticText

    The result before adding the second staticText was (the vertical border at the second page is absent):

    The text from resulting PDF file without vertical border before using the staticText

    0 讨论(0)
  • 2020-12-09 07:45

    Better way is to ensure, that new items in Detail band (or any band) will be generated on next page by setting, but not on the text field. For the band the text field is in, you can set the Split Type to Prevent. if you set that on the Detail Band and the row needs to overflow to next page, it will move the entire row to the next page.

    0 讨论(0)
提交回复
热议问题