前回複数のスクリーンを持つフォームの書き方を紹介しましたが、今回は前回と違うやり方の複数画面のフォームを紹介します。
以前紹介した別のやり方はこちらに載せておきます。
【Power Apps】複数スクリーン(画面)のフォームを作成する場合
今回はスクリーンを増やすわけではなく、フォームの中のデータカードを非表示・表示する切り替える方法で行います。
キャンバスにボタンをページ分作成します。今回は3ページのフォームを作成するので、3つボタンを作成します。
フォームの表示の制御は変数を使用します。
他のページでこの変数は使用しないため、UpdateContextを使用します。
例えば[Page2]をクリックしたときには、UpdateContext({_page2Visible:true})とし、他の変数はfalseにします。
ボタンを押したときに変数がtrueに変わるためにはデフォルトをfalseにしておかなければならないため、このスクリーンのOnVisibleにPage1はtrueに、Page1以外の変数をfalseに設定します。
また登録ボタンはPage3以外は出てきてほしくないため、登録ボタンのVisibleにPage3以外は表示しないと設定します。
Visible=if(_page3,true,false)
今回はひとつのフォームを同じ画面で使用しているため、一度にデータソースにデータの登録が可能なため、SubmifForm関数を使用します。Page3で表示される登録ボタンにはSubmitForm関数を使用しています。
SubmitForm関数はフォーム登録時にフォームのチェックをデフォルトで行ってくれるため、必須項目に入力がない場合はやSharePointリストをデータソースとして使用している場合には、データの型が違う場合には、エラーが発生し登録できないようにしてくれます。
前回紹介したものと比べて変数で表示・非表示の制御を行うため、コントロールの数が少ない場合はこちらでも問題ないかと思います。