当页面中的最后一个条目太长时,它会在下一页显示,当它显示所有表格行都缺失时。
结果如下:
如何将最后一条记录(第26条)移至下一页,或如何显示该行?
答案 0 :(得分:6)
您可以将staticText
元素放在textField
元素后面。您应该使用 RelativeToTallestObject 值和 stretchType
<设置 isPrintWhenDetailOverflows
属性/ strong>属性 true 值。
样本:
<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>
结果,您将在第二页获得垂直边框。
结果之前添加第二个staticText
是(第二页的垂直边框不存在):
答案 1 :(得分:4)
更好的方法是确保通过设置在下一页上生成详细信息带(或任何波段)中的新项目,但不在文本字段上生成。对于文本字段所在的波段,您可以将“分割类型”设置为“预防”。如果你在Detail Band上设置它并且该行需要溢出到下一页,它会将整行移动到下一页。