サポート > リポジトリ > 検索制御 > [応用] 検索条件テンプレート

複数の検索条件を「テンプレート」として事前に用意することができます。テンプレートを選択すると、各検索項目を自動セットします。

「検索テンプレート」は、複数の検索条件の組み合わせに名前を付け、この名前によって検索条件を自動セットするという機能です。

図1に実行例を示します。「検索テンプレート名称」を選択していない状態では、検索項目「業務名」「登録区分」はともに未選択です。

図1 検索テンプレート名称を選択していない初期状態

「検索テンプレート名称」から任意の検索処理パターンを選択します。

図2 検索テンプレート名称を選択する

図3に示すように、検索条件が自動的にセットされます。

図3 検索条件が自動的にセットされた

ここで「検索の実行」ボタンを押下すると、セットされた検索条件で絞り込みを行うことができます。

図4 検索条件を用いる

上の例を実行するために用意したモデルを図5に示します。

図5 モデル一覧

「業務区分」モデル

このモデルおよび値("仮登録" "本登録")に意味はありません。サンプルとして扱っています。

図6 業務区分モデル

「業務名マスタ」モデル

このモデルにも意味はありません。サンプルデータとして図8を用意しています。

図7 業務名マスタモデル
図8 業務名マスタモデルのサンプルデータ

「検索条件マスタ」モデル

「検索条件テンプレート」を格納するためのモデルです。 このモデルに含まれる項目は、図6,図7に示した「業務区分」と「業務名マスタ」モデルの値を保持させています。

図9 「検索条件テンプレート」モデルの定義

例えば「業務名」という項目は、図7の「業務名マスタ」モデルを参照しています。

図10 「業務名」項目の定義

今回のサンプルで用いた検索条件テンプレートの例を図11に示します。「業務名」「業務区分」が実際の検索項目で、これに名前をつけています。

図11 「検索条件テンプレート」の例

「対象業務」モデル

検索条件テンプレートを適用するモデルです。ポイントは、検索条件テンプレートモデルの名称を選択することで、検索条件を(参照連動で)引っ張ってくることです。これが図12の赤枠部分になります。

ただし、この参照連動項目そのものは検索条件ではありません。実際の検索項目は図12の青枠部分になります。

図12 対象業務モデル

「検索テンプレート名称」項目は、図9の「検索条件テンプレート」モデルを参照します。

図13 「検索テンプレート名称」項目の定義

「参照連動(隠し)業務名」「参照連動(隠し)業務区分」項目は、それぞれ検索テンプレートモデルの値を参照連動で取得しています。

図14 「参照連動(隠し)業務名」の関連
図15 「参照連動(隠し)業務区分」の関連

「検索テンプレート名称」「参照連動(隠し)業務名」「参照連動(隠し)業務区分」(赤枠部分)

図12の赤枠部分となる「検索テンプレート名称」「参照連動(隠し)業務名」「参照連動(隠し)業務区分」は、検索条件に用いるという設定を行っていますが、データベースに保存しません。(これは検索画面で利用するという意図のためで、実際の検索条件には使いません。)

図16 「検索テンプレート名称」はデータベースに保存しない
図17 「参照連動(隠し)業務名」「参照連動(隠し)業務区分」もデータベースに保存しない

「参照連動(隠し)業務名」「参照連動(隠し)業務区分」は「入力制御-隠し項目にする(全画面)」を設定します。

図18 「入力制御-隠し項目にする(全画面)」

同じく「参照連動(隠し)業務名」「参照連動(隠し)業務区分」は「出力制御(詳細画面)-隠し項目にする」を設定します。

図19 「出力制御(詳細画面)-隠し項目にする」

同じく「参照連動(隠し)業務名」「参照連動(隠し)業務区分」は「検索制御-隠し項目にする(全画面)」および「検索制御-読み込み専用にする」を設定します。

図20 「検索制御-隠し項目にする(全画面)」および「検索制御-読み込み専用にする」

「業務名」「登録区分」(青枠部分)

図12の青枠部分で定義した実際に検索時に用いる項目には、「検索制御-別項目の値をコピーして利用する」に、対応する参照連動項目名を指定します。これによって参照連動された値をコピーして、検索条件として利用することができます。

図21 別項目の値をコピーして利用する (1)
図22 別項目の値をコピーして利用する (2)

値変更時に画面を再描画する

最後に、対象業務モデルの「検索テンプレート名称」項目について、「入力制御-値変更時に画面を再描画する」を有効ににします。これによって、テンプレート選択時に(画面には表示されませんが)検索値が参照連動され、その参照連動された値をコピーした状態で画面再描画が行われるようになります。

図23 値変更時に画面を再描画する