他項目の値で選択肢を絞り込む
最終更新日: 2021年6月1日
R8 | R9
「当社担当部署」を指定すると「当社担当者」の選択肢が変わる例を示します。
図2は担当部署を選択していない状態です。このとき、担当者はいずれも選択できません。
担当部署を総務部とすると、総務部に所属する担当者が選択肢として表示されます。
同じく担当部署を営業部とすると、営業部に所属する担当者が選択肢として表示されます。
モデルは「スタッフ」「職種」「部署」「顧客」を用意しています。なお「職種」は選択肢モデルなので説明を割愛します。
「部署」モデルは主キー「部署ID」と、「部署名」を用意します。
「スタッフ」モデルは「部署」モデルを参照します。(図7,図8)
「顧客」モデルは「当社担当部署」として部署モデルを、「当社担当者」としてスタッフモデルをそれぞれ参照します。(図9,図10,図11)
ここで絞り込みの設定を行います。「当社担当者」項目の詳細ダイアログから「入力制御>モデル参照(絞込)」を設定します。
標準では、絞り込み元の値を変えた場合(上記例では「当社担当部署」の値を変更した場合)「当社担当者」として選択されていた値は維持されます。
(絞り込み元の値をクリアした場合も同様に、絞り込み先の選択肢は維持されます。)
この動作を変更することができます。「無効となった選択肢の選択状態を維持しない」を有効にしたとき、絞り込み元の値を変えると選択肢はクリアされます。(この機能はリストボックス-リストボックスの組み合わせでのみ動作します。)
この設定を行うと、絞り込み元の値を変えた場合、選択されていた候補は消去されます。
複数の絞り込み条件を指定することができます。条件はすべて AND (「かつ」)で絞り込みが行われます。
図17に示す絞り込みの例を説明します。絞り込み条件を二つ用意します。
選択肢モデル「職種」が次のように用意されているとします。"一般" という職種のIDは "4" です。
絞込条件に「職種が一般のみ」という条件を追加しました。図4に比較すると選択肢が減っています。
顧客モデルの当社担当者項目の絞込条件を追加します。(図20)
職種(title)のID値が"4"という固定条件を加えています。
絞り込みむための条件に、繰り返しコンテナ内の項目を指定することができます。
4人の社員を登録しておきます。(図22)
"プロジェクト1" と "プロジェクト2" にそれぞれ社員を二名ずつ割り当てます。(図23,図24)
作業実績を登録します。選択した社員に連動して、プロジェクトの選択肢が絞り込まれます。(図25,図26)
モデルは「社員」「作業プロジェクト」「作業実績」を用意しています。
「社員」モデルは ID と名称から構成されています。
「作業プロジェクト」モデルには、1つのプロジェクトに複数名の社員が連なるようになっています。繰り返しコンテナで実現します。
「作業実績」モデルのプロジェクト項目に絞り込みを設定します。
(同じモデルに含まれる)「社員ID」項目が、(参照先モデル「作業プロジェクト」の項目)「社員ID (member/staffid)」に含まれているもの、という絞り込みルールを設定します。
絞り込み条件の固定値に関数を指定することができます。図32,33はログオン者が所属するグループによって「報告部署」項目が絞り込まれた例です。
「報告部署」項目はグループモデル(jgroup)をリストボックス形式で参照する、としています。
絞り込みの設定を行います。固定値ですが、値部分に関数を用いています。
"検索制御 > 暗黙条件 > 関数を利用する" と同じです。こちらをお読み下さい。
参照先モデルが検索画面の場合、固定値に式を記述することはできません。詳細は「検索画面>メインウィンドウの入力値を検索条件として再利用する」をお読みください。
絞り込みの設定で IS NULL/IS NOT NULL 検索を行う場合、次のようにします。
「入力制御 > モデル参照(絞込) > 検索画面でも絞込みを行う」を有効にします。
本機能は、指定した絞り込み条件を SQL の where 句に含めます。すなわち絞り込み処理はデータベースで行います。そのため、参照先モデルの当該絞り込み項目はデータベースに保存されている必要があります。
日付型項目の絞り込みでは、固定値として特殊表記 nowを利用することができます。本日の日付による絞り込みが行えます。
参照連動項目に絞り込みは設定できません。(設定しても機能しません。)
サジェスト項目に絞り込みは設定できません。(設定しても機能しません。)
絞り込み先項目がコンテナ外項目として定義され、かつ、絞り込み元項目が繰り返しコンテナ内項目として定義されている場合は、絞り込みとして利用されるのはコンテナの1行目のデータのみとなります。
2行目以降のデータは絞り込みとしては利用されず、無視されます。
関連する項目(絞り込みの関係をもった項目)は同じ画面に含まれている必要があります。別々のウィザード画面に配置した場合は適切な絞り込みが行われません。
絞り込みが適切に行われない場合、次の点をご確認ください。
例と定義方法
設定イメージ
例
定義方法
無効となった選択肢の選択状態を維持しない
複数の条件で絞込む
設定イメージ
例
定義方法
繰り返しコンテナ内の項目で絞り込む
設定イメージ
例
定義方法
固定値に関数を利用する8.3.0
定義方法
利用できる関数
参照先モデルが「検索画面」の場合
IS NULL/IS NOT NULLで絞り込む8.3.2
検索方法 固定値 絞り込み条件
IS NULL
null
等しい
IS NOT NULL
null
等しくない
絞り込み設定を検索画面にも適用する
仕様・制約
動作の仕組み
固定値と特殊表記now
参照連動項目
サジェスト項目
繰り返しコンテナ利用時の制約
ウィザード利用時の制約
トラブルシューティング
関連するページ