- - PR -
JasperReportで一ページに収まりきらない場合の対応
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-09 11:53
JasperReportを使用していて解決方法がみつからない問題に直面しています。
解決方法をご存知の方がおりましたら、ご鞭撻お願いいたします。 テキストフィールドを使用した帳票で、1レコードで1ページに収まりきらない場合、続きが次のページに表示されるような設定にしていますが、収まりきった項目が再度表示されるという問題が発生しています。 例えばA,B,Cという内容で1レコードを表現する場合。 Aデータ,Bデータは1ページに収まっているがCデータが収まりきらない場合です。 ===================================== | Aカラム | Bカラム | Cカラム | ===================================== | Aデータ | Bデータ | Cデータ | ------------------------------------- この場合、次ページには再度A,Bが表示されてしまいます。 ===================================== | Aカラム | Bカラム | Cカラム | ===================================== | Aデータ | Bデータ | Cデータ | | | | の続き | ------------------------------------- A,Bデータを表示しないで枠だけ表示する方法は無いでしょうか? 現在のTextFiledの設定は以下のようになっています。 <textField isStretchWithOverflow="true" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" > <reportElement mode="Transparent" x="48" y="0" width="30" height="23" forecolor="#000000" backcolor="#FFFFFF" key="textField-1" stretchType="RelativeToBandHeight" positionType="FixRelativeToTop" isPrintRepeatedValues="true" isRemoveLineWhenBlank="false" isPrintInFirstWholeBand="false" isPrintWhenDetailOverflows="true"/> <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="Thin" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/> <textElement textAlignment="Center" verticalAlignment="Top" rotation="None" lineSpacing="Single"> <font fontName="MS P明朝" pdfFontName="C:\WINDOWS\Fonts\MSMINCHO.TTC,1" size="10" isBold="false" isItalic="false" isUnderline="false" isPdfEmbedded ="false" pdfEncoding ="Identity-H" isStrikeThrough="false" /> </textElement> <textFieldExpression class="java.lang.Double"> <![CDATA[$F{no}]]> </textFieldExpression> </textField> 環境は以下です。 iReport1.1 JasperReport1.1.0 [ メッセージ編集済み 編集者: @koto 編集日時 2006-03-09 11:56 ] | ||||||||||||
|
投稿日時: 2006-03-09 12:03
もう、あんまり覚えちゃいないんですが、 isPrintWhenDetailOverflows="true" isPrintInFirstWholeBand="false" /> だったかな。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-03-09 12:25
もの凄く早い回答ありがとうございます。
>isPrintWhenDetailOverflows="true" >isPrintInFirstWholeBand="false" /> ↑この設定はしているのですが、状況は変わりません。。 設定の組み合わせがあるのかもしれませんね。もう少し調べてみます! ところで根本的な話ですが、jasperreportでこのような表示のされ方が 仕様ということはないのでしょうか? | ||||||||||||
|
投稿日時: 2006-03-09 12:52
うわ、書かれてましたね... 見落としてました。(;_ _) それに、デフォルト値も false なので無意味でしたね。
もしくは、isPrintRepeatedValues="false" でないと無視されるのかも。
true と false で挙動が変わるのであれば、仕様 (または不具合) であると言えますが、 全く変わらないのであれば、別の属性のせいで無効にされていると考えられないでしょうか? 先にあげた isPrintRepeatedValues などいくつかの属性を反転させて検証してみてはどうでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-03-09 14:06
結局、プロパティの設定でなんとかならなかったので
次ページに伸びないTextFieldと伸びるTextFiledを同位置に用意し、 後者の内容を空にすることで表現することができました。 かなり荒業とは思われますが、結果がでているのでこの方法で 行こうと考えています。 様々なアドバイスをありがとうございました! |
1