サポート > Wagby定義ファイル > 8 モデル連携 > ストアモデル同士の絞り込み参照
ストアモデル同士に関係をもたせることで、対象のデータを絞り込む方法を説明します。
実行例
顧客モデルから社員モデルの社員名を参照する場合、参照先の社員数が多いとコンボボックスの内容が増えるため、使いにくくなってしまいます。 Wagbyではこのような場合に、まず「部署」を選択し、その部署に所属する「社員」を選択するといった絞り込み機能を実現することができます。
次の例では、「部署」モデル、「社員」モデル、「顧客」モデルを用意し関連を持たせます。 先に部署情報と社員情報を登録しておきます。 続いて、顧客の新規登録画面にて「営業担当部署」を選択します。
すると下部の「営業担当」項目では、該当する部署の社員のみが表示されるようになります。
検索画面でもこの機能を利用できます。
ここでは「コンボボックス」と「コンボボックス」の例を紹介しましたが、「コンボボックス」-「チェックボックス」、「ラジオボタン」-「コンボボックス」といった組み合わせも実現することができます。
次の図は、「コンボボックス」-「チェックボックス」の組み合わせの例です。
設定方法
部署モデルを定義する
はじめに「部署(department)」モデルを用意します。このとき、部署モデルはマスタモデルではなく、ストアモデルとして定義してください。 項目は「部署ID(deptid)」と「部署名(deptname)」を用意します。
社員モデルを定義する
次に「社員(employee)モデル」を定義します。社員の所属する部署の項目を「他のストアモデル参照」と定義し、 「部署モデル(department)」を参照するようにします。
項目「部署」のモデル項目定義シートを開き、参照先モデルの主キーと内容を指定します。参照モデルの主キーには「部署(department)」モデルの主キー「部署ID(deptid)」とします。 参照モデルの内容(表示用の項目)は「部署名(deptname)」を指定します。
顧客モデルを定義する
それでは、顧客(customer)ストアモデルを定義します。 顧客モデルでは、部署モデルを参照する「営業担当部署(dept)」と、社員モデルを参照する「営業担当(sales)」を用意します。
この「営業担当部署」と「営業担当」は、ともにストアモデル参照の項目なので、それぞれモデル定義シートで参照先主キーと表示項目を指定します。
まず「営業担当部署(dept)」のモデル定義シートを開きます。 「参照モデルの主キー」は部署モデルの主キー「部署ID(deptid)」とします。「参照モデルの内容」は同モデルの「部署名(deptname)」を指定します。
次に「営業担当(sales)」のモデル項目定義シートを開き、設定を行います。 「参照先モデルの主キー」及び「参照モデルの内容」のほか、「参照モデルの絞込み項目」で先の「営業担当部署(dept)」を指定します。 この設定により「営業担当」は「営業担当部署」で絞り込まれた値が用意されるようになります。










