2012-01-15 3 views
3

ページの最後のエントリが長すぎる場合は、次のページに表示され、すべてのテーブル行が表示されていないことを示します。レコードが2ページに分割されている場合、セルの枠線が失われないようにするにはどうすればよいですか?

これが結果です:

enter image description here

はどのようにして、次のページへ最後のレコード(第26号)を移動か、または私はラインを表示することができますか?

答えて

6

textField要素の後ろにテキストなしのstaticText要素を置くことができます。あなたは値でRelativeToTallestObject値とisPrintWhenDetailOverflowsプロパティでstretchTypeプロパティを設定する必要があります。

サンプル:

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

結果として、あなたは、2ページ目での垂直の境界線を取得します。第staticTextを添加前

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

結果は(2ページに垂直境界が存在しない)であった。

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

+0

私は成功をお祈りしていますが、すべての行に繰り返し行があります。それを避ける方法は?これは私の写真ですhttp://i.stack.imgur.com/mFIKl.jpg –

3

より良い方法は、新しいことを、保証することですディテールバンド(または任意のバンド)のアイテムは、テキストフィールドではなく、設定することで次のページに生成されます。テキストフィールドがあるバンドの場合、スプリットタイプを防止に設定できます。ディテールバンドで設定した場合、次のページにオーバーフローする必要がある場合は、行全体が次のページに移動します。

関連する問題