参照モデル同士の関係性で選択肢を絞り込む
最終更新日: 2022年5月11日
R8 | R9
社員モデルの社員名を参照する例で説明します。
「営業担当部署」によって「営業担当者」の選択肢が変わります。図1は営業担当部署が未選択の状態です。
担当部署「第一営業部」を選択すると、同部に所属する担当者が選択肢として表示されます。
担当部署を「第二営業部」に変更すると、同部に所属する担当者が選択肢として表示されます。
両項目を検索条件に用いることもできます。
3つのモデル「部署」「社員」「顧客」を用意します。
「部署」モデルは主キー「部署ID」と「部署名」を用意します。
「社員」モデルの「部署」項目は「他モデルの項目参照」とし、部署モデルの「部署名」項目を参照します。
「顧客」モデルの定義です。
「営業担当部署」項目は部署モデルの「部署名」を参照します。
「営業担当者」項目は社員モデルの「社員名」を参照します。
さらに、「営業担当者」項目は「オプション > 絞り込み項目」を設定します。
この設定を図示すると次のようになります。
営業担当部署項目をラジオボタンとし、営業担当者項目をリストボックスとした例を図12に示します。
営業担当部署項目をチェックボックスとし、営業担当者項目をリストボックスとした例です。
チェックボックスを複数選択すると、絞り込み項目も増えます。
営業担当部署項目をリストボックスとし、営業担当者項目をチェックボックスとした例です。
リストボックスが未選択の場合、営業担当者は表示されません。
営業担当部署を選択すると、チェックボックスの選択肢が表示されます。
営業担当部署項目をラジオボタンとし、営業担当者項目をチェックボックスとした例です。
営業担当部署項目と営業担当者項目のいずれもチェックボックスとした例です。
この機能は、絞り込み元データをいったんすべてメモリに取り込み、Javaプログラムで条件判定を行います。[パフォーマンスについて...]
次の場合は、絞り込み項目に指定することはできません。
この場合は、もう一つの絞込設定である「他項目の値で選択肢を絞り込む」をご利用ください。
絞り込み元の値を変えた場合(上記例では「営業担当部署」の値を変更した場合)、「営業担当」として選択されていた値はクリアされます。
サジェスト項目に絞り込みは設定できません。(設定しても機能しません。)
本機能は二つの項目間の関係性に着目した絞り込み動作を行います。
これを応用することで、二つ以上の項目間での絞り込みを定義することができます。
例えば「組織」「所属」「氏名」という項目について、「組織」と「所属」および「所属」と「氏名」に絞り込み関係を定義することができます。
このとき、「組織に "営業部" を選択すると、所属に "第一営業部" "第二営業部" が絞込まれる」といったことができます。
さらに "第一営業部" を選択すると、氏名に "田中" "佐藤" が絞込まれるように設定することができます。
このとき、「組織が "本社" だが、所属が空白で、氏名が "斉藤" というデータを用意することはできない」ということにご注意ください。
この場合、組織を "営業部" としつつ、所属を未決定とした場合でも、氏名欄には "斉藤" が選択肢として表示されてしまいます。
これを避けるため、ダミーの所属をご用意ください。例えば上の例ですと、組織 "本社" に対する所属として "(本社直轄)" などをご用意いただくことで解決できます。
この機能は、絞り込み元のデータをいったんメモリにすべて読み込み、Javaプログラムで1件ずつ条件に合致するかどうかを判定します。そのため、絞り込み元データが大量の場合は不向きです。絞り込み元(上記の例では「営業担当部署」)は画面に表示できる程度の数(数個から十数個程度)で用いるようにしてください。
一覧表示画面に絞込設定したモデル参照項目を含める場合、絞り込み項目も一覧表示に含める必要があります。(図10を例にとると、「営業担当者」項目を一覧表示に含める場合、絞り込み項目となる「営業担当部署」も一覧表示に含めるようにします。)
リストボックスで絞り込み、リストボックスで選択する
例
この場合、参照先の社員数が多いとリストボックスから探すことが困難です。
そこで、最初に「部署」を選択し、その部署に所属する「社員」を選択する という絞込み機能を実現します。
検索条件に用いる
定義方法
部署モデル
社員モデル
入力タイプはリストボックスとします。
顧客モデル
絞り込み項目として指定できる項目の条件は次の通りです。
ラジオボタンで絞り込み、リストボックスで選択する
チェックボックスで絞り込み、リストボックスで選択する
リストボックスで絞り込み、チェックボックスで選択する
ラジオボタンで絞り込み、チェックボックスで選択する
チェックボックスで絞り込み、チェックボックスで選択する
仕様・制約
動作の仕組み
指定できないパターン
絞り込み元の値が変わった場合の動作
サジェスト項目
二つ以上の項目間での絞り込み
なぜなら、氏名は「組織と所属のペア」で絞込まれるのではなく、あくまでも「所属」で絞込まれるためです。所属が未決定の場合、組織が何であっても氏名欄には "斉藤" が選択肢に加わってしまいます。
パフォーマンス
トラブルシューティング
一覧表示画面で絞込が動作しない
一覧更新画面で絞込が動作しない