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