8
9

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 5 years have passed since last update.

【備忘録】PowerAppsで親ドロップダウンの選択によって子ドロップダウンをフィルターする

Posted at

Power Appsで画像を撮影して投稿するアプリに、ドロップダウンを選択して投稿できるようにする」にて、ドロップダウンを選択して投稿できるようにした。

ドロップダウンの選択肢が数が少ないうちはまだいいけど、10を超えてきてドロップダウン一つだと面倒。100を超えてきたら目も当てられない。

というわけで、ドロップダウンを2つ作り、親カテゴリを選んだら、子カテゴリーがフィルターされるようにしてみたので、備忘録でまとめてみた。

#SharePointでマスタを作る

カテゴリー列に親。タイトル列にサブカテゴリーに相当するものを入れてみた。

#親になるドロップダウンに重複を削除して表示する設定(Distinct)

挿入→ドロップダウンから配置して、データソースに先ほど作成したカスタムリストと、列を指定。

しかし、このままでは親ドロップダウンは重複も全部表示されちゃう。

重複を削除したいので、処理を入れる。

データItemsの値 Valueの値
before categoryMaster category
after Distinct(categoryMaster,category) Result
書式 Distinct(ソース名,対象列) 自動でResultにかわる
ドロップダウンも重複が消えてる。

#子になるドロップダウンに親ドロップダウンでフィルターする(Filter)

挿入→ドロップダウンから配置して、データソースに先ほど作成したカスタムリストと、列をそれぞれ指定。

しかし、このままでは子ドロップダウンもフィルターされてない。

フィルターしたいので、処理を入れる。
ドロップダウンの[依存先]を選択すると、親コントロールを聞いてくるので、親にするドロップダウンを選択。

子でフィルター条件にする列を指定する。

親ドロップダウンで、やさいを選ぶと、ドロップダウンは絞られた。

できた!

#課題

だいぶアプリっぽくなってきた。関数は使ってるけど、コードは何も書いてない。

Flowに渡して、SharePointに書き込ませたい。しかし、Flowの引数にはそのままドロップダウンではできてなくて、いっかいラベルにして変数にしてた。しかし、Distinctかけたドロップダウンならラベル経由させなくても、[Dropdown1.Selected.Result]などで変数として使える。いい方法ありそう。

8
9
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
8
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?