21
12

More than 3 years have passed since last update.

【#PowerApps Tip's】ドロップダウンを未選択に戻す方法

Last updated at Posted at 2019-10-20

PowerApps の「ドロップダウン」コントロールが初期化、というか未選択(ブランク)状態に戻せる設定ができるようになりました。

ドロップダウンとコンボボックスについて

PowerApps には似たような機能が2つあります。よくわからない、という方は、当方が以前にまとめた下記の記事をご確認ください。

[PowerApps Tip's]そっくりさん?ドロップダウンとコンボボックスのちがい

上記の記事投稿時、ドロップダウンコントロールは未選択(ブランク)にすることができませんでした。それがVerUpによって未選択状態を設定できるようになったようですよ!

実際の動作

下記の動画をご確認ください。

未選択状態を設定する方法

[AllowEmptySelection]プロパティを true に設定するだけです。
既に、動画を提示しちゃってるのでネタバレしまくりですねw

PowerApps のドロップ ダウン コントロール

未選択状態にする際の注意

動画を見て気づいた方もいるかと思いますが、リストの選択肢に空白行(ブランク)が増えるワケではありません。未選択状態に戻すには”現在選択されている値を、再度クリックする”必要があります。
正直、このオペレーションは初見では全く気づけないと思います。なので、画面上にメッセージを置くか、アプリのデモ動画などで周知するなどのフォローが若干必要かなぁ、と思いました。

[Reset]プロパティと組み合わせてみる

PowerApps の各種コントロールを初期値に戻す、[Reset]プロパティと組み合わせてみましょう。こちらも動画をご覧ください。

Resetプロパティ組み合わせ動画

解説

Reset(=初期値に戻す)処理が実施される = [Reset]プロパティ = true になった場合、コントロールの値は[Default]プロパティで指定された値になります。まず、初期値をブランク(Blank())に設定します。

Dropdown.Default
Blank()

また、Reset処理は変数を経由して、
 true = リセット処理される
 false = リセット処理されない
という状況を作り出す必要があります。
動画では、アイコンクリック時に変数を true にして、ドロップダウンコントロールのOnChangeで、その変数を false にしています。

ここで [AllowEmptySelection]プロパティの true/false によって動作に違いが発生します。

[AllowEmptySelection]=true → Reset で Blank()(空白)になります。
[AllowEmptySelection]=false → Reset で 1 (厳密には先頭のアイテム)になります。

まとめ

  • ドロップダウンコントロールで未選択状態を指定できるようになった
  • [AllowEmptySelection]で指定する(true で発動)
  • 未選択状態(ブランク)にするためには、現在選択中のアイテムを再選択する必要がある
  • Reset と組み合わせる場合は、前述プロパティの true/false で動作が異なるので注意

過去、この[AllowEmptySelection]プロパティが存在しなかった時は、コンボボックスを選択するか、コレクションの先頭に空白のデータを追加したうえでデータソースの値をForAllで詰め込みなおす等のテクニックを使う必要がありました。このプロパティが追加されたことで、ドロップダウンコントロールの利用頻度があがるのかな、と思った次第。ナイスアップデートですね!

なお、このプロパティは、当方が所属するチームの優秀なメンバーが見つけてくれました。感謝!

それでは、皆さま。素晴らしい Power Platform Life を!

21
12
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
21
12