サポート > Wagby定義ファイル > 4 検索制御 > 他項目の値で「他のストアモデルの参照」の選択肢を絞り込む
他項目の値によって「他のストアモデルの参照」の選択肢を絞り込むことができます。
実行例
以下の例では、「顧客情報」モデルに定義された、「スタッフ」モデルを参照する項目 「主担当」および「副担当」の選択肢が、他項目の値によって絞り込まれる様子を示します。
図2〜5は「顧客情報」モデルの登録画面における、「主担当」、「副担当」のコンボボックスを示します。
「主担当」は、「担当部署」や「副担当」の値で絞り込まれます。 「主担当」の選択肢は、「担当部署」に所属しており、かつ「副担当」に指定されていないスタッフに絞られます。
「副担当」は、「担当部署」や「主担当」の値の他に「職種」によってその選択肢が絞り込まれます。 「副担当」の選択肢は、「担当部署」に所属しており、かつ「主担当」に指定されておらず、「職種」が「一般」以外のスタッフに絞られます。
モデルおよびマスタの定義
「スタッフ」モデルおよび「職種」マスタの設定
「スタッフ」モデルの定義を以下に示します。
「スタッフ」モデルの「職種」項目が参照する「職種」マスタの定義を以下に示します。
「顧客情報」モデルの設定
「顧客情報」モデルの定義を以下に示します。 項目「主担当」、「副担当」の型を「他のストアモデル参照(コンボボックス)」にします。
設定方法
「顧客情報」モデルの項目「主担当」の設定
項目「主担当」の「モデル項目定義シート」で、「他のストアモデルの参照の絞込条件」を指定します。
ここでは、以下の条件が設定されます。
- 自モデルの項目 tantou_busho (「担当部署」)と参照先の項目 deptid (「部署」)が等しい
- 自モデルの項目 sub_tantou_staff (「副担当」)と参照先の項目 staffid (「スタッフID」)が等しくない
これにより、「担当部署」に所属しており、かつ「副担当」に指定されていないスタッフに選択肢が絞られます。
「顧客情報」モデルの項目「副担当」の設定
項目「副担当」の「モデル項目定義シート」で、「他のストアモデルの参照の絞込条件」を指定します。
ここでは、以下の条件が設定されます。
- 自モデルの項目 tantou_busho (「担当部署」)と参照先の項目 deptid (「部署」)が等しい
- 自モデルの項目 main_tantou_staff (「主担当」)と参照先の項目 staffid (「スタッフID」)が等しくない
- 参照先の項目 titleid (「職種」)が4以下(「一般」以外)
これにより、「担当部署」に所属しており、かつ「主担当」に指定されておらず、さらに「職種」が「一般」以外のスタッフに、選択肢が絞られます。
設定項目については、以下の通りです。
- 「自モデル項目名または固定値」
- 左の列で「項目名」または「固定値」を選択し、右の列で項目名または固定値を指定します。 固定値の場合で項目の型が「日付」、「日付と時間」、「時間」の場合は「now表記」を使用することができます。
- 「絞込条件」
- 左の列では「以上、以下、より大きい、より小さい、等しい、等しくない、文字列の部分一致」を選択できます。 右の列は「他のストアモデル参照(検索画面)」定義時に使用することができます。
- 「参照先項目名」
- 条件の対象となる参照先項目名を設定します。
- 「ソートキー」
- 絞込まれた結果に対するソートキーを指定します。参照先の項目を指定することで、その値を利用してコンボボックス、ラジオボタン、チェックボックスの内容がソートされます。 左の列で「昇順」「降順」、右の列で参照先の項目名を指定します。
- 「選択肢の先頭のみを表示する」
- 絞込まれた結果の先頭のみを表示します。「登録時にデータベースに保存する」設定と併用できません。同時に「検索条件」も併用することはできません。
この設定は非推奨となっています。
絞込みに利用する項目が空の場合の対応
「他のストアモデルの参照の絞込条件(10個まで設定できます)」欄の各設定に「自モデル項目が未入力のときの動作」の設定を行うことができます。次の設定値を指定できます。
- 「絞込条件にしない」(デフォルト)
-
絞り込み項目が空の場合は この項目を条件として含めずに選択肢を作成します。
上記の「実行例」を用いた場合、「担当部署」が「(未選択)」の場合は、「主担当」にすべてのスタッフが表示されます。 - 「選択肢を作らない」
-
絞り込み項目が空の場合は選択肢が未選択のみ(未選択を用意しないような設定であれば空の選択肢)となります。
上記の「実行例」を用いた場合、「担当部署」が「(未選択)」の場合は、「主担当」の選択肢は「(未選択)」のみとなります。
なお、設定値を空にすることもできますが、この場合は「絞込条件にしない」が設定されているものとみなします。












