1

Jaspersoft Studio 5.6.1で 1 つのテーブルを使用して簡単なレポートを作成しています。

JRBeanCollectionDataSource を介してJavaからこのレポートにデータを送信します。

レポートでは、すでにこのデータをフィールドから取得できます:レポート->データセットとクエリ...-> JavaBeanタブ->クラス名で、JRBeanCollectionDataSourceのリストにあるJavaクラスを書き込みます->選択したフィールドを追加します

これで、受信データを表示できます。

しかし、テーブルで実行したい場合は、データセットを作成する必要があり (なぜですか?)、「マスター レポートの入力に使用したものと同じ接続を使用する」を選択します。同じフィールドを新しいデータセットに追加しても、データセットの「ドメインに接続」を選択しても役に立ちません。エラーは表示されません。

ここに画像の説明を入力

4

2 に答える 2

1

データセットを作成する必要があります (なぜですか?)

InJasper Reportsテーブルはメイン レポートに疎結合されています。つまり、テーブルには独自のテーブルが必要datasetです。

ここJRBeanCollectionDataSourceで、レポートの準備ができており、それを使用してレポートを作成したいとしますtable。私が言ったように、テーブルには独自のデータサートが必要であり、独自のdatasource.

これで、メイン レポートのテーブルと同じ接続を指定するdatasourceか、同じ接続を使用してテーブルを埋めることができます。

jasper レポート テーブルの詳細については、このリンクを参照してください。Java 部分については、こちらを参照してください。

于 2014-10-10T05:45:43.410 に答える
0

同様の問題がありました。レポートのテーブルに REPORT_CONNECTION パラメータを設定するだけでよいことがわかりました

jaspercomunity

これで。

値を空白のままにします。Java コードの後半で、Maper オブジェクトを使用してデータベースへの SQL 接続を設定します。次のようになります。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=admin");
HashMap<String, Object> hm = new HashMap<String, Object>();
hm.put("REPORT_CONNECTION", conn);
jasperPrint = JasperFillManager.fillReport(reportPath, hm, beanCollectionDataSource);
于 2015-03-19T05:10:30.087 に答える