2012-03-02 11 views
1

ここに私の設定です。長いテキストを含むクロス集計サブレポートの無限ループ

サブレポートを含むメインレポート。 サブレポートはクロスタブレポートです。 クロスタブのフィールドの1つが非常に長い可能性がありますが、これはこの方法である必要があります。 長いフィールドが長くない場合、レポートは正常に表示されます。 多くのテキストが含まれている場合、ジャスパーは3ページにわたる無限ループについて不平を言っています。

私はこれがバグだと思っていますが、この問題を回避するために別の方法でこのレポートに行くべきかどうか疑問に思っています。 クロス集計のような動的な列を表示するのに使用できる別のコントロールがありますか?もっと長いテキストもサポートされていますか?

私の報告書に関する他の情報があれば、お気軽にお問い合わせください。

エラーメッセージは次のとおりです。

ERROR JRFillSubreport - 1を入力します。例外 net.sf.jasperreports.engine.JRRuntimeException:クロス集計が3つの連続したページには何も印刷されていない、可能性が無限ループ

答えて

0

私が持っていました私のセルのいくつかがクロスカントレポーターを使用していたときの同じ問題は、1.5K +文字でした...私はそれをやったやり方を概説しましたhere

基本的に私はサブレポートではなくサブデータセットを使用しました。また、私にとって最も重要なのは、 "crosstabCell"と "reportElement"要素に設定した高さと幅の値でした。

XMLをハックする必要があることがわかりましたが、最終的にはすべて機能しています。クロス集計を -

は、それが役立ちます:)ジャスパーレポートを使用している場合

+0

ええと、大文字の無限ループの問題に対処するソリューションのどの部分ですか?私はXMLファイルではなく標準のjdbcデータソースを使用しているので、その説明にあるすべてが必要とは思われません。 –

+0

無限ループに影響するもの:1 - 相対幅がオーバーフローで誤って設定されているマスター幅を超えてオーバーフローします。 2セル幅。 「私にとって最も重要なことは、「crosstabCell」要素と「reportElement」要素で設定した高さと幅の値がこのセルでヒントになっていたことです)各セルの幅が「100」であることがわかりました。 70:無限ループ... 200:無限ループ... 100:無限ループなし。なぜ私は知らない、おそらくバグ。クロス集計のサブレポートに関しては、私は常に問題にぶつかりました。サブデータセットに固執しています。 – travega

+0

ありがとう!テキスト入力を制限することなく動作させるために調整できるかどうかを確認します。 :P –

0

私は、本番システムでは、この「無限ループ」の問題があったと思います。エラー/例外が記録されていなかったため、私はそれが起こった正確な理由を知ることができませんでした。唯一のヒントは、クロスタブ列のデータが長く、次のページにオーバーフローしなければならない2つのケースでのみ起こっていたことです。私は、「オーバーフローで伸びる」要素がジャスパーエンジンを混乱させ、「無限ループ」に入ることに気付きました。クロスタブでは、「ストレッチ」機能の一部が妥当ではないため、求めるすべてを実行できないことは理解できます。私のレポートデザインでは、追加の要素(余分なスペースを占める)を持ち、「オーバーフローで伸びる」機能を持ついくつかの要素を持つことによって、クロスタブを少しカスタマイズしました。

この問題が報告された後、私はカスタマイズやストレッチ機能を持たないクロス集計の簡単なレポートを作成し、あらゆる種類のテストケースでテストしました。それはしばらくしており、この「Infinite Loop」問題は今回の変更後には報告されませんでした。

関連する問題