こんにちは。sinyです。
この記事ではPowerAppsでドロップダウンリストを選択した際に画面を切り替える機能の実装手順について簡単にご紹介します。
機能概要
下記動画の様にドロップダウンリストの選択肢によって遷移する画面を切り替える機能を実装します。
画面は以下の構成とします。
・Active画面(ActiveScreen)
・Inactive画面(InactiveScreen)
・ドロップダウンリストでActiveを選択した場合はActiveScreen画面へ遷移する。
・ドロップダウンリストでInActiveを選択した場合はInActiveScreen画面へ遷移する。
実装手順
まず、HomeScreenに「挿入→入力→ドロップダウン」からドロップダウンリストを追加します。
追加されたドロップダウンリストのItemsプロパティで選択肢を以下のように定義します。
[" ", "Active","Inactive"]
次にドロップダウンリストのOnChangeプロパティで以下を定義します。
If(Dropdown1.Selected.Value ="Active",Navigate(ActiveScreen), If(Dropdown1.Selected.Value = "Inactive",Navigate(InactiveScreen)) )
If文を使って選択されたリストの値(Dropdown1.Selected.Value)がActiveの場合はNavigate関数でActiveScreenへ移動、Inactiveの場合はInactiveScreenへ遷移する関数を定義しているだけです。
以上で、実装は完了です。
応用編
このドロップダウンリストのOnChangeプロパティを活用すると他にもいろんなことが出来そうです。
ぱっとおもいついた例として、選択したリストによってギャラリーに表示されるデータを絞り込むといったことが出来そうです。
具体的には以下のように備品の対応年数をフィルタするようなドロップダウンリストを定義しておき、選択した対応年数以下のレコードだけ表示させるといったことが出来ます。
ドロップダウンリストのItemsプロパティに以下を設定します。
["", "5年以内", "10年以内"]
続いてOnChangeプロパティに以下を設定します。
If(Dropdown1_1.Selected.Value ="5年以内",ClearCollect(BihinItems, Filter(備品,対応年数 <=5)), If(Dropdown1_1.Selected.Value = "10年以内", ClearCollect(BihinItems, Filter(備品,対応年数 <=10)), If(Dropdown1_1.Selected.Value = "", ClearCollect(BihinItems,備品))) )
選択したドロップダウンリストの値によって備品エンティティから取得するデータをFilter関数を使って絞り込んでいます。
※ギャラリーのデータソースをBihinItems(コレクション)に設定している前提
他にもいろんな応用が出来そうですね。
以上、「ドロップダウン 選択時に画面を切り替える方法[PowerApps]」でした。