はじめに
特定のデータソースAを絞り込んだら、それに連携してデータソースBも絞り込まれることがやりたい
tl:dr
データソースBの検索条件で、
- 検索値の指定方法を「複数リストボックス」にする
- 選択地に「すべて」を表示のチェックを外す
- 検索候補値をデータソースAの項目名にして
- 「他のデータソース定義に設定された検索を実行した結果を利用する」のチェックを付ける
条件
ここで想定している状況では、データソースAとデータソースBがそれぞれ数十万レコード近く存在するため、MBVIEWでは対応できないものとする。
理想的には、データソースAとデータソースBをDB側でJOINしておいたほうが良い気がするが、それをせずともMB上で実現可能なので、以下で紹介する。
準備
以下のデータを作成してボードにアップロードしておく
部品分類.txt
部品コード 構成商品コード
1 A
1 B
1 C
1 D
1 E
1 F
2 B
2 D
2 E
2 F
3 A
3 C
3 D
3 F
3 G
商品番号.txt
構成商品コード 商品番号
A 10001
A 10002
A 10003
A 10004
A 10005
B 10001
B 10002
B 10003
B 10004
B 10005
B 10006
C 10001
C 10002
C 10003
D 10001
D 10002
E 10001
E 10002
E 10003
F 10001
F 10002
G 10001
手順
まずはファイルをアップロードして、それぞれデータソースを作成する
「アイテムリロード」用のボタンを作成する。
ポイント!「明細表_データソースA」のリロードと、「明細表_データソースB」のリロードアクションは、2行に分ける
「入力アイテム」で、「コンボボックスアイテム」を作成し、以下の通り設定する
データソースBのデータソース編集で、検索条件を追加する
このとき、条件設定は以下の画像の通りにする。ポイントは以下
- 検索値の指定方法を「複数リストボックス」にする
- 選択時に「すべて」を表示のチェックを外す
- 検索候補値は「他データソース定義項目の値」に設定
- 他のデータソース定義は「データソースA」を選択。
- 「他のデータソース定義に設定された検索を実行した結果を利用する」のチェックを付ける
- 項目名(値)は「構成商品コード」を選択
コンボボックスで値を選択すると、データソースAもデータソースBも同時に絞り込まれる
おわりに
"選択時に「すべて」の表示"のチェックを外すのは目からウロコでした。
※本内容はnestのスレッドに基づきます。
https://membership.wingarc.com/view/post/0/86307?commentId=179182