3

2 つの入力パラメーターを持つレポートがあります。どちらにも、値を選択できるドロップボックスがあります。ParameterA と ParameterB としましょう。ParameterA から ParameterB を依存させることは可能ですか?

例: ParameterA で carbrand 'Honda' を ParameterB で選択すると、Honda のすべての車種 (Accord、Civic など) のみが表示されます。

iReport/JasperReports Serverにそのような可能性はありますか?

4

1 に答える 1

2

はい、JasperReport サーバーは、カスケード入力コントロールと呼ばれるこの機能を提供します。

カスケード パラメーターでは、1 つのパラメーターの値のリストは、前のパラメーターで選択された値に依存します。

リストの後のパラメーターのデータセット クエリには、リストの前のパラメーターへの参照が含まれるため、パラメーターのカスケードでは順序が重要です。

たとえば、2 つの入力コントロールがあり、名前が Shipcountry と Shipcity であるとします。この条件で Shipcountry を選択すると、次の入力コントロール Shipcity は、選択した出荷国に属する都市のみを表示する必要があります。

JasperSerever で、リソース ID p_shipcountry で新しい入力コントロールを作成します。この入力コントロールにデータ ソースを使用する必要はありません。次のクエリを使用するだけです。

         SELECT DISTINCT shipcountry FROM orders ORDER BY shipcountry;

カスケード入力コントロールとなるリソース p_shipcity で 2 番目の入力コントロールを作成しますが、この入力コントロールのデータ ソースを使用し、次のクエリを使用する必要があります。

          SELECT DISTINCT shipcity FROM orders
          WHERE shipcountry= $P{p_shipcountry} ORDER BY shipcity;

詳細については、この投稿を参照してください:-

カスケード入力コントロール

于 2013-12-03T05:06:35.167 に答える