【发布时间】:2011-03-16 14:17:02
【问题描述】:
我正在使用最新版本的 Jasper Reports。我在 Jasper Reports 的详细信息部分使用了两个框架。一个框架包含所有需要的字段,并设置为 top = 0 ,第二个框架正好低于第一个框架,并且仅包含一个字段。当第一帧文本字段中的文本正常(适合宽度且不拉伸)时,结果正常,表示第二帧正好打印在第一帧下方。但如果其中一个文本字段在内容溢出时被拉伸,那么它会在两个框架之间留下一些空间。
我在这里写了我的详细信息部分的 XML。
<detail>
<band height="40" splitType="Stretch">
<frame>
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="430" height="20" isPrintWhenDetailOverflows="true"/>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="129" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{netWeight}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="179" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{metalRate}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="54" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{productName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="229" y="0" width="22" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ratePer}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="251" y="0" width="25" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{ratePerUnit}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="364" y="0" width="66" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{totalAmount}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="104" y="0" width="25" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{piece}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="54" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{itemName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="320" y="0" width="44" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{vatAmount}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="276" y="0" width="44" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{labourAmount}]]></textFieldExpression>
</textField>
</frame>
<frame>
<reportElement x="0" y="20" width="430" height="20" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true">
<printWhenExpression><![CDATA[$F{narration} != null && (!$F{narration}.equals("NONE")) && $F{narration}.length > 0]]></printWhenExpression>
</reportElement>
<staticText>
<reportElement x="0" y="0" width="50" height="20"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<text><![CDATA[Narration]]></text>
</staticText>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="50" y="0" width="380" height="20" isPrintWhenDetailOverflows="true"/>
<box leftPadding="1">
<pen lineWidth="1.0"/>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>
<textElement>
<font size="9"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{narration}]]></textFieldExpression>
</textField>
</frame>
</band>
</detail>
【问题讨论】:
标签: java reporting jasper-reports report