8

私は IReport 3.5.0 を使用しており、Java GWT アプリケーションはコンパイルされた .jasper ファイルを使用してレポートを作成します。Java アプリケーションでデータソースを作成し、fillReport()メソッドを使用してレポートを作成しています。それは正常に動作し、.jrxml と Java アプリケーションの両方で定義したフィールドを埋めます。

しかし、これらのフィールドを使用して円グラフを作成したいのですが、うまくいきません。作業フィールドをチャートのキーと値の式として指定しますが、アプリケーションを実行すると、キー式として指定しても、常に同じ「null key」エラーが発生java.lang.IllegalArgumentException: Null 'key' argument.し、解決できなかったというエラーが表示されます$V{PAGE_COUNT}. 私は立ち往生しています。助けてくれてありがとう。

4

4 に答える 4

6

私は同じ種類の問題を抱えていました。基本的に JasperReport の円グラフは null オブジェクトを嫌います。エラーメッセージはあまり役に立ちません...

すでにキー式をチェックしているので、他のすべての要素をチェックしてください。ラベル式に誤りがありました!

アプリケーションを IDE で実行できる場合は、「IllegalArgumentException」にブレークポイントを設定してください。根本原因を見つけるのに役立ちます。また、変更を加えるたびにレポートが jrxml を再コンパイルするようにしてください。

もう 1 つのアプローチは、例から始めて、ニーズに合わせて少しずつ変更することです。すぐに犯人がわかる!

ちなみに、これはすべてサーバー上で実行されるため、GWT とは関係ありません。

于 2010-08-18T20:07:53.553 に答える
3

iReport 3.0 でも同じような問題がありました。条件式を使用して、キー式と値式で null 値を処理しました。

($F{FIELDEXPRESSION}!=null?$F{FIELDEXPRESSION}:"")

($F{FIELDVALUE}!=null?(new BigDecimal($F{FIELDVALUE})):(new BigDecimal("0")))
于 2012-08-31T11:53:33.610 に答える
0

コメントできないため、これは完全な解決策ではない可能性があります。フィールドのデータ型を確認して問題を解決しました。

私が以前持っていた場所:

<field name="date" class="java.sql.Date"/>

私は次のように変更しました:

<field name="date" class="java.lang.String"/>

私のフィールドは ex:"Jul 15" (クエリで作成した参考までに) 形式の日付を入力できないためjava.sql.Dateです。

于 2015-06-01T10:00:14.023 に答える