3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MotionboardでデータソースAで絞り込まれた値をもとにデータソースBを絞り込む

Last updated at Posted at 2021-12-01

はじめに

特定のデータソースAを絞り込んだら、それに連携してデータソースBも絞り込まれることがやりたい
image.png

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

手順

まずはファイルをアップロードして、それぞれデータソースを作成する
image.png

テキストファイルの読込設定は以下のとおり設定する
image.png

各データソースの明細表を作成する
image.png

「アイテムリロード」用のボタンを作成する。
ポイント!「明細表_データソースA」のリロードと、「明細表_データソースB」のリロードアクションは、2行に分ける
image.png
image.png
image.png

「入力アイテム」で、「コンボボックスアイテム」を作成し、以下の通り設定する
image.png

データソースAのデータソース編集で、検索条件を追加する
image.png

データソースBのデータソース編集で、検索条件を追加する
このとき、条件設定は以下の画像の通りにする。ポイントは以下

  • 検索値の指定方法を「複数リストボックス」にする
  • 選択時に「すべて」を表示のチェックを外す
  • 検索候補値は「他データソース定義項目の値」に設定
  • 他のデータソース定義は「データソースA」を選択。
  • 「他のデータソース定義に設定された検索を実行した結果を利用する」のチェックを付ける
  • 項目名(値)は「構成商品コード」を選択
    image.png

コンボボックスで値を選択すると、データソースAもデータソースBも同時に絞り込まれる
image.png

おわりに

"選択時に「すべて」の表示"のチェックを外すのは目からウロコでした。

※本内容はnestのスレッドに基づきます。
https://membership.wingarc.com/view/post/0/86307?commentId=179182

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?