この記事は、Power Apps Advent Calendar 2024 12月22日担当分の記事です。
今回のAdvent Calendarでは、Power AppsによるSharePointフォームのカスタマイズの話をします。
12月22日は前編、中編、後編のうちの前編になります。
前編では通常のキャンバスアプリとの違いについて記載します。
フォームのカスタマイズとは
リストフォームやライブラリのプロパティフォームはPower Appsを利用してカスタマイズが行えます。
カスタマイズを行うには、コマンドバーより[統合]ー[Power Apps]ー[フォームのカスタマイズ]をクリックします。
こうすることで、フォーム編集用のPower Apps Studioを起動できます。
普通のPower Appsと違う点
キャンバスアプリと同様のコントロールや関数を使用できますが、リストやライブラリ上での操作とPower Appsで編集したフォームを連動させるために、SharePointIntegrationコントロールを用いて設定する点が異なります。
また、作成したアプリはPower Appsの「既定の環境」内に保存されますが、ポータルのアプリ一覧には表示されません。
フォームのカスタマイズをクリックすると、画面1つとその中に編集フォーム1つ含まれた状態でPower Apps Studioが起動します。
またキャンバスアプリにはない、SharePointIntegrationコントロールがあります。
フォーム内容を編集した後は、公開することで既定のフォームをPower Appsで編集したフォームへ置き換える事ができます。
アプリの共有については不要です。「ユーザー」や「共同所有者」の追加をせずに利用、編集が可能です。
サイズ変更
キャンバスアプリ作成時と同様に画面サイズの変更可能です。
設定画面で、表示からカスタムを選択するとサイズを指定します。
上記はサイズをカスタム、幅を1300px、高さを700pxとして幅を広く取った例です。
ユーザー操作との連動
通常のキャンバスアプリでは以下のようなアイコンを用意してデータソースの関数を記載する必要がありますがカスタマイズフォームの場合は、特に必要ありません。(特定の項目をPatch関数などで更新する場合は別です)
- 新規アイコン「+」(NewForm関数を記載)
- 編集アイコン「✐」(EditForm関数を記載)
- 更新アイコン「✓」(SubmitForm関数を記載)
カスタマイズフォームの場合は以下5つのユーザー操作と連動するための仕組みとしてSharePointIntegrationコントロールが用意されています。
操作1 新規操作
「新規アイテムを追加」がクリックされた場合の動作を指定することができます。
新規操作時の動作指定は、SharePointIntegrationコントロールのOnNewプロパティを使用します。
//フォームを新規モードにして画面遷移する。
NewForm(SharePointForm1);Navigate(FormScreen1)
操作2 編集操作
「編集」がクリックされた場合の動作を指定することができます。
編集操作時の動作指定は、SharePointIntegrationコントロールのOnEditプロパティを使用します。
//フォームを編集モードにして画面遷移する。
EditForm(SharePointForm1);Navigate(FormScreen1)
操作3 表示操作
アイテムの表示操作が行われた場合の動作を指定します。
※赤枠をダブルクリックした場合の動作になります。
表示操作時の動作指定は、SharePointIntegrationコントロールのOnViewプロパティを使用します。
//フォームを表示モードにして画面遷移する。
ViewForm(SharePointForm1);Navigate(FormScreen1)
操作4 保存操作
フォーム上の「保存」がクリックされたときの動作を指定します。
保存操作時の動作指定は、SharePointIntegrationコントロールのOnSaveプロパティを使用します。
//SPOリストに登録・更新する
SubmitForm(SharePointForm1)
操作5 キャンセル操作
フォーム上の「キャンセル」がクリックされたときの動作を指定します。
キャンセル操作時の動作指定は、SharePointIntegrationコントロールのOnCancelプロパティを使用します。
//フォームをリセットする
ResetForm(SharePointForm1)
まとめ
前編では、キャンバスアプリとの違いについての内容となりました。
カスタマイズフォームについては、通常のPower Appsと異なる点があります。
中編では、カスマイズフォームでの注意点についての内容となります。