2012-01-19 7 views
2

を使用してクリッピング無視isStretchWithOverflowプロパティ値をレンダリングしているがgroupHeaderでテキストをラップすることが可能ですか?私はそれが細部のセクションで働いている、 しかし、グループ内のテキストは折り返したいと思わない。私は私が考えるか、Googleから見つけることができるラッピングのすべての組み合わせを試してみました。 値とisStretchWithOverflowプロパティを設定テキストはPDF輸出国

<style name="reportProject" isDefault="false" fontName="Times" fontSize="10" isBold="false" isItalic="true" isUnderline="false" isStrikeThrough="false"/> 
<group name="PROJHEADER" minHeightToStartNewPage="60"> 
    <groupExpression><![CDATA[$F{projectHeader}]]> 
    </groupExpression> 
    <groupHeader> 
     <band height="40" splitType="Stretch"> 
      <printWhenExpression><![CDATA[Boolean.valueOf($F{projectHeader}.length() > 0)]]> 
      </printWhenExpression> 
      <textField isStretchWithOverflow="true" isBlankWhenNull="true" 
           evaluationTime="Group" evaluationGroup="PROJHEADER" bookmarkLevel="1"> 
       <reportElement positionType="Float" style="reportProject" mode="Opaque" x="0" y="5" 
           width="515" height="15" backcolor="#C0C0C0" 
           stretchType="RelativeToBandHeight"/> 
       <box leftPadding="10"> 
        <bottomPen lineWidth="1.0"/> 
       </box> 
       <textElement textAlignment="Left" verticalAlignment="Middle" /> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{projectHeader}]]> 
       </textFieldExpression> 
      </textField> 
     </band> 
    </groupHeader> 
</group> 

答えて

2

私を助けます。

サンプル:

<group name="citygr"> 
    <groupExpression><![CDATA[$F{CITY}]]></groupExpression> 
    <groupHeader> 
     <band height="20"> 
      <textField isStretchWithOverflow="true"> 
       <reportElement x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{CITY} + " text1 txt2 longtext3 verylonglongtxt4 long1234567890verylongtext5 txt6 text6 longtext7"]]></textFieldExpression> 
      </textField> 
     </band> 
    </groupHeader> 
</group> 

結果は以下のようになります。

The pdf report

私はiReportは4.1.3を使用しています。

net.sf.jasperreports.export.pdf.force.linebreak.policyプロパティを設定することもできます。このプロパティをjrxmlファイルに追加するだけです。このプロパティについてはhereを読むことができます。

サンプル:

<jasperReport ...> 
    <property name="net.sf.jasperreports.export.pdf.force.linebreak.policy" value="true"/> 
+0

私はすでにisStretchWithOverflow = "true" を持っていました。私はそのプロパティを追加したが、それでも機能しなかった。しかし、私はtextElementをあなたのように単純にすることにしました。ありがとう。 – JimClarke

1

これは私が働くこと、になってしまったものです。

<jasperReport ...> 
    <property name="net.sf.jasperreports.export.pdf.force.linebreak.policy" value="true"/> 
    ..... 
    <group name="PROJHEADER" minHeightToStartNewPage="60"> 
     <groupExpression><![CDATA[$F{projectHeader}]]> 
     </groupExpression> 
     <groupHeader> 
      <band height="40" splitType="Stretch"> 
       <printWhenExpression><![CDATA[Boolean.valueOf($F{projectHeader}.length() > 0)]]></printWhenExpression> 
       <textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
        <reportElement style="reportProject" x="0" y="5" 
         width="400" height="15" backcolor="#C0C0C0"/> 
        <textElement textAlignment="Left" verticalAlignment="Middle" /> 
        <textFieldExpression class="java.lang.String"><![CDATA[$F{projectHeader}]]> 
        </textFieldExpression> 
       </textField> 
      </band> 
     </groupHeader> 
    </group>