20

サブレポート オブジェクトにこのための特定のフィールドがあるため、メイン レポートからサブレポートにパラメーターを渡す方法を理解しています。ただし、(サブレポートではなく) コンシューマーとしてテーブルまたはリスト オブジェクトを使用して同じことを行いたいと考えています。出来ますか?

たとえば、メイン レポート クエリを入力できる 'customerID' のパラメーターがあるとしますが、このパラメーターをテーブルのデータセットの SQL クエリに渡すことができないようです。

パラメータ、フィールド、変数のさまざまな組み合わせを試してみましたが、うまくいきませんでした。

この種のものにはサブレポートの実装が必要ですか?

(重要で明らかでない場合は、JDBC を使用しています)

4

4 に答える 4

26

メイン レポートからiReport 3.6.7+ のテーブルまたはリスト データソースにパラメーターを渡すには、次の手順を実行する必要があります。

1)メイン レポートのパラメータ セクションを右クリックして、メイン レポートに必要なパラメータを作成------> パラメータを追加-------->新しく追加されたパラメータのプロパティ (データ型) を希望のもの。

2)手順 1 とまったく同じように、テーブル/リストのデータ ソースのパラメーター セクションに同等のパラメーターを作成します。

3)レポート エクスプローラーから、テーブルを右クリックし、[テーブル データセットの編集] をクリックします------> [パラメーター] タブを選択します----------> [追加] をクリックします------- --->上のコンボ(つまり、データセットのパラメーター名)からパラメーター (ステップ 1 のデータセットのパラメーター セクションで作成したもの) を選択します------> 次に、下のボタンをクリックします(つまり、値の式、つまり params を割り当てます)。手順 1 で追加したもの。

ソース: http://hamroblog-sristi.blogspot.fr/2011/04/passing-parameters-from-main-report-to.html

于 2013-04-19T14:52:05.763 に答える
12

使用しているバージョンはわかりませんが、iReport 3.7.6 で実行できました。

まず、パラメーターをデータセットに追加します。

次に、パラメーターに値を渡すには、レポート インスペクターでテーブルを右クリックし、[テーブル データソースの編集] を選択します。「パラメータ」タブに移動します。各データセット パラメーターは、メイン レポートのパラメーター、フィールド、または変数から値を取得できます。

于 2010-11-17T22:25:49.083 に答える
0

あなたが行っていたことを再現するために簡単なテストレポートを作成し、それが機能しました.

これが私が取ったステップです。

  • レポートにパラメーターを作成します。例: customerID

  • ハッシュマップでメイン レポートに渡します。

    hashmap.put("customerID", "12345");

  • レポートでプロパティThe language of for the dataset queryを に設定しますSQL

  • プロパティQuery textを次のように設定します。

    select * from * customers c where c.ID=$P{customerID}

于 2010-09-10T11:33:11.397 に答える