(2)初心者入門SharePointPowerAppsはじめにSharePointのリストをPowerAppsを使っていい感じにカスタマイズする為の道のりを記事にまとめます。2016のモダンUIを触っている方向けにそれぞれのフォームの役割について、簡単にまとめました。NewForm新しいアイテムを追加する為のフォーム。「+新規」ボタンをクリックすると表示される。フォームには「保存」「キャンセル」のボタンが存在します。「保存」ボタンを押すと、アイテムを追加します。DispForm閲覧用のフォーム。アイテムのメニューから「開く」を選択、またはタイトルクリックで表示される。フォームにはアイテムの編集ボタンが存在します。EditForm編集用のフォーム。DispFormから編集ボタンを押す、またはメニューから編集を選択すると表示される。「保存」ボタンを押すと、アイテムの更新がされる。「キャンセル」ボタンを押すと、更新しないでフォームを閉じる。作成方法ではフォームを追加したいリストからPowerAppsを起動します。操作方法が分からない方は、まず先に[入門]PowerAppsでSharePointリストのフォームをカスタマイズ(1)を確認してください。レイアウトを変更するちゃんと変更されていることがわかるよう、レイアウトを少し変えます。レイアウトの変更については別途記事をまとめる予定なのでそれぞれのフォームの見分けが付くぐらいでOKです。タイトルheaderに表示されるようにしました。各ボタンが押されたときに表示するフォームを指定します。OnView設定"SharePointIntegration"のアクションから指定できます。既存の設定では、一つのフォームのモードを切り替えて表示しています。モードの切り替えに関してはこちらに載っています。画面遷移するの処理を追加していきます。フォームのモードを切り替える各フォームのモードを設定します。表示画面を指定する画面を切り替える場合は「Navigate」関数を利用します。Navigate関数の第2引数で画面の切り替え方法を指定することが出来ます。詳しいパラメータはこちら今回は特に指定しません。一つのアクションに複数の処理を追加する場合は「;(セミコロン)」を追加します。この状態で保存&発行をして動作を確認しましょう。それぞれのフォームが表示されればOKです。/キャンセルの動作を指定する次に、「保存」「キャンセル」ボタンが押されたときの動作を指定します。こちらの設定も"SharePointIntegration"から指定できます。新規作成時、OnSaveで新しいアイテムを追加。OnCancelで入力していたデータをリセットするの3点です。アクションは同じでもユーザの開いているフォームによって、ボタンの挙動が変わるところに注意が必要です。状態を管理する変数を作る新規作成の画面で、「保存」ボタンが押されたときの動作を制御します。保存ボタンが押されたときに表示されていたフォームが「NewScreen」なのか「EditScreen」を判別する為、状態を管理するための変数を用意します。変数を管理する場合には「set関数」を利用します。変数名は「mode」にしました。今回は、「New」か「Edit」が分かればよいので、OnViewはなくてもよいです。OnSaveが押された時の処理を追加データを更新するには「submitForm関数」を利用します。modeが"new"の時は"NewForm"をsubmitします。それ以外の時は"EditForm"をsubmitします。(3)OnCancelが押された時の処理を追加フォームをリセットするには「ResetForm」を利用します。数式自体はOnSaveとほぼ同じです。ResetFormでリセットされないときResetFormがうまく反映されない場合、フォームのプロパティを設定を変更することで解決するケースがあります。反映されないフォームのプロパティから「OnReset」を「ture」にして保存してください。以上で各フォームのベースが出来上がりました。画面遷移さえ定義できてしまえば、ラベルを追加したり、色を変えたりするだけでとてもリッチなリストフォームを作ることが出来るようになるでしょう。制約により出来ないことこの記事をまとめるにあたり、分かったこと、イケてないなーとか他にやりようありそうだなーってところをメモしました。強制的にフォームが非表示アイテムの編集の時、「キャンセル」が押されたら表示フォームに戻りたかったけど以下の制約で、「キャンセル」を押したら強制的にフォームが閉じてしまう。変更をリセットします。常にフォームが非表示になります。SubmitするとEditモードになる各フォームのDefaultModeを設定すれば、OnNew/OnEditでわざわざモードをしなくていいんじゃないの?って思ったんですが、submitするとNewモードはEditモードに切り替わるようです。フォームを起動するたびにモードを指定してあげないといけない。プロパティがクリアされます。upLoginユーザーは見つかりませんでした。