Power Appsでフォームを使用してデータの追加や編集を行う場合、入力内容の確認を促したい場面があります。
そのような場合に「コンテナー」を使用して入力内容の確認を促し、入力内容の修正が必要な場合に再度編集を行う方法についてご紹介します。
作成イメージ
実際に画面を作成した場合のイメージです。
入力チェックを促すポップアップについても「コンテナー」ではなく、画面に追加した「テキストボックス」や「アイコン」をグループ化させる、「コンテナー」を画面ないで表示させる場所など、作成するアプリに合わせて自由に変えることができます。
作成
必要な操作は大きく3つです。
- 「コンテナー」の作成
- 「フォーム」の設定
- 「コンテナー」の設定
「コンテナー」の作成
本記事では、「コンテナー」を1単位として入力チェックの表示・非表示の切り替えを行います。
既存の「ボタン」や「アイコン」を表示切替の1単位として利用する場合は、「グループ化」を行ってください。「コンテナー」の作成が完了しましたら、下記関数を設定します。
Visible=If(container=true,true,false)
※「container」は作成した「コンテナー」名や入力チェックのために表示切替を行う対象を指定します。変数であるため、任意の変数名を設定してください。
なお、本記事では「コンテナー」内の入力チェックには「テキストラベル」を使用し、「フォーム」内に入力されたテキストや選択されている値を表示させています。
「フォーム」の設定
次に、「フォーム」への入力完了後、入力チェックを行うための「ボタン」へ、下記関数を設定します。
OnSelect=If(container,Set(container,false),Set(container,true))
この関数により「ボタン」の押下により「コンテナー」の表示/非表示を切り替えることができます。
また、「フォーム」内で「必須」に設定されている項目に入力されていない場合に「ボタン」が押下できないようにする場合は、下記関数を設定します。
DisplayMode=If(Form1.Valid,DisplayMode.Edit,DisplayMode.Disabled)
「コンテナー」の設定
最後に、「コンテナー」内のフォームを登録を行うための「ボタン」に下記の関数を設定します。
OnSelect=SubmitForm(Form1);Navigate(ホーム)
この関数により、「フォーム」に入力した内容の登録とホーム画面へ戻ることができます。なお、他の方法でホーム画面へ戻る場合は、「;Navigate(ホーム)」は不要です。
動作確認
以上の設定の完了後、アプリのプレビューにより下記2点をご確認ください。
- 「フォーム」内の「ボタン」をクリックし、入力チェック「コンテナ」が表示されることを確認
- 入力チェック「コンテナ」内の「ボタン」クリックにより、フォームの内容がデータソースに登録されることを確認
まとめ
本記事では、フォームへの入力チェックを表示するための方法についてご紹介しました。
記事内ではPower Apps に標準の「必須」機能を利用した「ボタン」の有効化制御を紹介しましたが、チェックボックスへのチェックの有無での「ボタン」の有効化制御等も可能です。
アプリの利用者に求めたい操作によってアレンジを行っていくと、より使い勝手がよくなりますので、ぜひお試しください。