はじめに
Power Apps でアプリを作る際、何らかの処理をしていることを知らせる画面を表示したい、データが二重で登録される対策をしたいという相談を受けることがあります。
例えば、データの送信処理に時間を要す可能性がある場合、アプリの利用者からすると、データの送信が上手く行われていないと誤認識して再度送信ボタンを押してしまい、結果的に二重登録されてしまうような可能性があるためです。
私が作成しているアプリでも、以下の記事で紹介した、働き方を共有するアプリでは、一人一日一レコード登録されることを想定しています。仮に一日に複数レコードが登録されると、データの表示がずれるなどの問題が発生するため、データ処理中であることを知らせる画面を表示し、データ送信中に誤って複数回ボタンを押して、データが二重登録されないよう対策を取るようにしています。
今回は、そのような対策をする方法について紹介します。
■ボタン押す前
アプローチ
まず、以下のような処理中に表示する画面を作成します。
部品としてはシンプルで、例えば、ラベルと、gif 画像を用意してグループ化します。
ラベルは、[Fill]
プロパティの透明度を調整することで、ポップアップぽくなると思います。
今回は gif 画像を利用していますが、シンプルに文字を表示させたりしても良いかと思います。
用意した部品の[Visible]
プロパティを、以下のように変数にします。
処理中画面を表示したい側で、以下のように、処理開始前に上記変数を true にして、処理終了後に false にします。こちらにより、処理に時間を要している際に上記のような画面が表示され、その間、後ろにあるボタンを再度押すことは出来ません。
そのため、仮にデータの送信処理に時間を要しても、データ処理中の画面を表示しているため、アプリの利用者が、データの送信が上手く行われていないと誤認識して再度送信ボタンを押すこと、結果的にデータが二重登録されることを防ぐことが出来ます。
UpdateContext({locShowProcessingNow:true});
間の処理
UpdateContext({locShowProcessingNow:false});
まとめ
今回は、Power Apps でデータ処理中の画面を表示する、データの二重登録対策をする方法について説明しました。データ処理に時間を要す場合、データ処理中である旨を知らせるのは利用者にとって親切だと思いますし、何かの予約をするアプリなど、データが二重で登録されると困るようなケースは沢山あると思うので、少しでも参考になれば幸いです。