SharePointのフォームをPowerAppsでカスタマイズして登録前の確認画面を表示してみた

最近PowerAppsで遊んでまして、この子触るたびに忘れちゃうので記事にします。

細かい作り方の前に今回利用していて、今後も頻出することになるであろう関数をまとめます。

Set

https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-set
変数を設定できます。設定した変数は異なる画面でも参照できるため、とても便利。

使用例)Set(userName, “山田太郎”)
変数の宣言と代入を一緒にやってる。代入できるのは文字列以外でもイケそうなんだけども、参照側でうまく取り出せなかった。ドロップダウンとかのOnChangeに使うと値変更のたびに変数が再設定され、確認画面で参照できる。

Navigate

https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-navigate
画面遷移に利用。

使用例)Navigate(PreviewScreen, ScreenTransition.None)
1つ目の引数は画面名、2つ目は画面遷移時の効果っぽい。None以外選ぶ気がしない。

ClearCollect

https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-clear-collect-clearcollect
データテーブルを作成する、という理解で差支えはなさそう。作成したデータテーブルはデータソースとして利用でき、ギャラリーなどに適用できます。

使用例)ClearCollect(userTable, {name: “山田太郎”, age: “30”, sex: “男”}, {name: “鈴木花子”, age: “40”, sex: “女”} )
1つ目の引数はデータテーブル名、以降は {列名: 値 }で1行ずつ。今回のケースでは使わないが、画面のOnVisible時にデータテーブルを作成すると、以降その画面内でデータソースを利用する、みたいな使い方になるのかな。

SubmitForm

https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-form
Formに入力された値を登録する際に利用。いわゆるSubmit処理をする。リスト画面からアプリでPowerAppsを作成すると右上のチェックボタンにはこの関数が既定で入っている模様。

使用例)SubmitForm(SharePointForm1)
引数としてフォーム名を指定するだけ。フォームが配置されていない画面からでも実行可能。今回はプレビュー画面にてSubmitする際に利用。

こんな所かなー

では、本題のプレビュー画面の作り方を。

各オブジェクトのOnChangeにSet関数を利用して変数を設定。

OnChangeにSet関数

画面遷移はNavigate関数で。

OnSelectにNavigate関数

プレビュー画面側では設定した変数を出力(Concatenate関数は文字列の結合)

ラベルに変数を表示

確定ボタンにSubmitForm関数を設定して登録を実行(ResetFormはFormの内容をクリア)

確定ボタンでSubmitForm

動かすよ!!

適当に入力
プレビューきたー
ついでに完了画面も。

ま、この作りだと上の保存ボタンでスキップされちゃいますけどねー。