如何防止JasperReports TextField中的重复数据

时间:2014-10-05 12:31:15

标签: jasper-reports

我正在使用 JasperReports ,并且在下一页继续使用textField数据时遇到一些问题。
我有3个textField详细的乐队。
Band splitType =“Stretch”。
每个textfiled都有边框,isPrintWhenDetailOverflows param设置为“true” 当文本字段中的数据不适合页面时,它将继续下一步。所以我需要打印相同波段的其他文本(因为我需要打印每个文本字段的边框)
但isPrintWhenDetailOverflows =“true也导致在第二页的其他文本字段中重复数据,尽管它们的内容适合第一页。

插图:

enter image description here

1 个答案:

答案 0 :(得分:3)

碧玉报告文件说:

isPrintWhenDetailOverflows()
If this is set to true, the element will be reprinted on the next page if the band does not fit in the current page.

所以我认为这可能是一个问题。 删除 isPrintWhenDetailOverflows="true"。在这种情况下, isStretchWithOverflow="true" stretchType="RelativeToTallestObject" 这两件事对我有用。所以你的textField就像:

<textField isStretchWithOverflow="true" isBlankWhenNull="true">
   <reportElement style="cell" stretchType="RelativeToTallestObject" x="266" y="0" width="266" height="15"/>
   <textElement textAlignment="Left" verticalAlignment="Middle">
     <font fontName="Arial" size="9" isBold="false" pdfEncoding="Cp1251" isPdfEmbedded="true"/>
     <paragraph leftIndent="2"/>
   </textElement>
   <textFieldExpression><![CDATA[$F{structure}]]></textFieldExpression>
</textField>