2011-10-13 14 views
6

私はiReportsに苛立っています。問題は、複数の顧客のデータを返すデータセットがあり、顧客IDに対して「グループ式」を使用し、レポートごとに顧客ごとに詳細タブをレイアウトすることです。iReportsグループ化のバグ - 複数の発生?

私は、顧客のために1つ以上のデータ行がある場合、ランダムに見えることがわかりました。iReportsは2つ以上のグループを生成します(時には、私が期待することをしてすべての顧客データをまとめます)顧客は同じで、変化しません。

誰もこれまで見たことがありますか?正直言って、それは実際にはバグだとは思えませんが、私が逃したものです。適切な結果を見つけるためにまだ多くのことを探しています。

+0

顧客ID(グループ化するフィールド)でデータを並べ替えましたか? –

答えて

8

は、私は、これは、データの並べ替えの問題だと思います。
iReportは究極のガイドからの引用:グループ式を評価することによって、

JasperReportsのグループレコード。 は、式の値が変わるたびに新しいグループインスタンスが作成されます。 (明示的 が要求されていない場合) エンジンは、私たちがグループを定義するときに、我々は常にソート たレコードの世話をする必要があり、任意のレコードのソートを行いません。私たちは 国によってグループにアドレスのセットをしたい場合はつまり、私たちは、レポートのために選択したレコードはすでに によって、国によって命じなければなりません。 ORDER BY句を使用してSQLクエリ を使用するときにデータをソートするのは簡単です。これが不可能な場合(すなわち、 がXML文書からレコードを取得する場合)、 JasperReportsがデータをソートするように要求できます。これは、あなたがこれらの方法でデータをソートすることができ


クエリウィンドウで オプション利用可能なものを使用して行うことができます。

データベースのJDBC接続データソースタイプで用いた場合で
  • レポートのクエリにORDER BY customerId句を追加できます。customerId - fielの列名レポートのテンプレート(jrxmlファイル)へのフィールドのSORTFIELDプロパティを追加することにより、ソートのデータを整理することができますファイルのcsv接続またはこのようなものを使用した場合の顧客ID
  • とD:
<jasperReport ...> 
    ... 
    <field name="customerId" class="java.lang.String"/> 
    <sortField name="customerId"/> 
+0

こんにちはアレックス、これは多くのおかげで...問題を解決しました! – Mark

+0

@マーク歓迎:) –

3
  1. SQLステートメントはを持っています3210?
  2. iReportはグループがcustomer_idによってグループ化されますか?
関連する問題