[Power apps] 項目数の多いフォーム画面のつくりかた

画面構成

フォームにはヘッダーとフッターが備わっているとする。
また、フォームの項目数は20あるとする。

パターン1

1画面、1フォームで管理する。

パターン2

1画面、複数フォームで管理する。
フッターの次へボタンをクリックすることで表示するフォームを切り替える。(フォーム1 → フォーム2)

パターン3

複数画面、1フォームで管理する。
フッターの次へボタンをクリックすることでNavigate()で次の画面を表示する。(画面1 → 画面2)

 

メリット・デメリット

パターン1:1画面、1フォーム

メリット

  • 分割の手間がないため、実装が一番簡単である。

デメリット

  • 分割なしのため、登録をするユーザーに心理的負担がかかる。
  • カードの移動が手間になる。Power Appsではデータカードのコピー貼り付けができないため、手動でドラッグ&ドロップをしなければならない。ドラッグした状態でマウスが画面端にあった状態でも画面が自動的にスクロールされないため、データカードの初期位置と配置したい場所の位置が離れている場合、ドラッグ → 移動の手順を何回も繰り返さなければいけない。
  • 更新に時間がかかる。項目数が50である場合、既存のフォームにデータカードを1つ追加に当たり3~4分かかる。データカードのオブジェクト名を変更する場合、1回あたり1分30秒近くかかる。

パターン2:1画面、複数フォーム

メリット

  • パターン1に比べて、オブジェクト操作の時間は格段に短い。データカード追加、オブジェクト名の更新のいずれも5秒程度で完了する。
  • 関連する項目ごとに1つのフォームにまとめることで、保守性が上がる

デメリット

  • 全てのフォームのvisibleを更新する必要がある。更新自体は手間ではないが、次へボタンを押す = 次のフォームのvisibleをtrueにするというのは直感的ではないかもしれない。(非エンジニアならなおさら)

パターン3:複数画面、1フォーム

メリット

  • 編集画面と本番画面のレイアウトが完全に一致する。
  • パターン1に比べて、オブジェクト操作の時間は格段に短い。
  • 画面とフォームが1:1であるため、直感的である。
  • 編集画面でも、1画面1フォームでの表示であるため、作業がしやすい。

デメリット

  • ヘッダーとフッターを画面数分用意しなければならない。コンポーネント化することで負担は減るが、共通化をするのに若干注意が必要。

おわりに

パターン1はとにかく処理が重いので論外。パターン2とパターン3はトータルで見たときに大差ないと思われるので、好きな方を選択すること。