1 つの棒グラフと 1 つのテーブルを含むレポートがあります。これら 2 つの要素は、Javaアプリケーションからレポートに渡されるオブジェクトのリストによって埋められます。
これら 2 つの要素を 2 つの異なるサブレポートに入れたいのですが、オブジェクトのリストをサブレポートに渡す方法がわかりません。各オブジェクトのフィールドをマスター レポートのフィールドとして、サブレポートのパラメーターとして追加しましたが、機能しません。
誰でもこの問題を解決するのを手伝ってもらえますか?
1 つの棒グラフと 1 つのテーブルを含むレポートがあります。これら 2 つの要素は、Javaアプリケーションからレポートに渡されるオブジェクトのリストによって埋められます。
これら 2 つの要素を 2 つの異なるサブレポートに入れたいのですが、オブジェクトのリストをサブレポートに渡す方法がわかりません。各オブジェクトのフィールドをマスター レポートのフィールドとして、サブレポートのパラメーターとして追加しましたが、機能しません。
誰でもこの問題を解決するのを手伝ってもらえますか?
このようなもの:
コレクションをパラメーターとしてメイン レポートに渡し、サブレポートの DataSource でこのパラメーターを使用します。
// メイン レポートの Java コード
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listOfObject);
Map<String, Object> params = new HashMap<String, Object>();
params.put("myList", listOfObject);
jasperPrint = JasperFillManager.fillReport(jasperReport, params, ds);
// Java コードの終了
(多分
JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource())
メインレポートにデータを表示する必要がない場合)
main.jrxml レポート パラメーター myList で java.util.Collection として定義します。
サブレポートをメイン レポートに追加します (サマリー バンドに)
メイン レポートでサブレポートのプロパティを設定します:
接続タイプ = データソース式を使用
データ ソース式 = new JRBeanCollectionDataSource($P{myList})
サブレポートで目的のフィールドを定義します (listOfObjects に基づく)。