モデル駆動型アプリ Power Apps グリッドコントロール その② ビューでのサブグリッド表示・編集やその他設定項目について

はじめに

1年ほど前に書いた記事「モデル駆動型アプリ Power Apps グリッドコントロールの概要と設定方法」で、設定方法やインライン編集や選択肢のカラー付けなどについてご紹介しました。
今回先日開催された「GPPB2025 in Japan」に登壇させていただいた際にもう少し欲し下げてご紹介したところ、ビュー上で関連レコードのサブグリッド表示も出来ることに気付き、また標準ビューでも普通にグループ化対応していたりと進化もあったので改めてご紹介いたします。

概要やインライン編集、選択肢カラー付けなどについては前回記事ご参考ください。

GPPB2025JP登壇については以下記事ご参考


Power Apps グリッド コントロール

公式は以下です
Power Apps グリッド コントロール – Power Apps | Microsoft Learn

以下で簡単にテーブルでの適用(クラシック)、ビュー単位、サブグリッド単位の設定方法をご紹介します。
詳細は公式ページご参考ください。

テーブルへの適用の場合

この部分は記事投稿時点でも(おそらく)クラシックの画面からしか設定できないはずです(確認した限りは)
ソリューションを開き>クラシックに切り替え>対象のテーブル(エンティティ)>「コントロール」タブをクリックしてPower Appsグリッドコントロールを選択


既定表示の設定や各種オプションのオン、オフを設定

ビュー・サブグリッドの場合

ビュー、サブグリッドはモダンエディター上から設定可能です。

ビュー:ビューエディターから

サブグリッド:フォームエディターから

調整可能な設定項目

以下モダンエディターでの設定項目画面です。このグリッドでのみ有効化出来る機能や、標準の読み取りビューでも可能な機能をオン・オフすることが出来ます。

主要な設定項目について

自分も把握できていない部分もありますが、以下主要な設定項目を一覧化しました。

主な設定項目オンにした場合
編集を有効にするインライン編集可能に!
ページ割り付けを有効にする無限スクロール→ページング(従来のように)
※グループ化は出来なくなる
オプション セット カラーを有効にする選択肢の色付けが可能に!
ジャンプ バーを有効にするA~Zのバーが下部に出せる
子項目・子項目の親ID1:Nリレーションのサブグリッドを表示できる!
子アイテムのグリッドでの編集を無効に上記の編集の可否を調整
グループ化、集計、並び替え、フィルター、範囲選択、複数選択など各機能のオンオフを調整出来る
カスタム コントロールPCF(Power Apps コンポーネント フレームワーク)を追加できるようです!

上記のうち、「インライン編集、選択肢カラー付け、ページング」については、前回の記事でサンプルご紹介しておりますので、そちらをご参考ください。
今回の記事ではこのうち、「1:N リレーションのサブグリッドをビューに表示」の点をご紹介しようと思います。

TIPSまた、グループ化も以前は読み取り専用ビューでは出てこずこちらのコントロール(または以前からあった編集可能なグリッドビュー)だけで可能だったはずですが、最近は普通に使えるようになっていましたね。その他並び替えや列の移動、範囲選択も普通のビューで出来ますので、あえてオフにするなど用途に合わせてカスタムできる点がとても良いと思います。

ビュー上で1:Nリレーションのレコードをサブグリッド表示・編集が出来る!

記の設定で「子項目・子項目の親ID」を調整することでビュー上で普通はフォームのサブグリッドで表示するデータ(1:Nリレーション側のビュー)を一緒に表示が出来ます!
さらにビュー自体のインライン編集をオンにしていれば、「子アイテムのグリッドでの編集を無効に」の設定で編集有効のままとすればサブグリッドもインライン編集出来ちゃいます!

(クラシックの例)
・子項目に対象のテーブルとビューを指定(今回の場合は見積テーブルに紐づく明細テーブル)
・子項目の親IDに参照列を指定(今回の場合は明細テーブルにある見積テーブルに対する参照列)

次に「子アイテムのグリッドでの編集を有効にします」(既定:いいえ)の部分を編集不可としたい場合ははいに変更します。※Power Apps グリッドのインライン編集が有効になっている場合にここがいいえのままであればあわせて編集可能となります。

実装サンプル

上記設定で見積テーブルに紐づく明細テーブルを指定して、ビューのインライン編集可能、かつ、子アイテムの編集も可能としている場合の例です。

通常のサブグリッドの表示の遷移

以下は未適用の状態です。通常は以下のようにビューからフォームに遷移して紐づく明細を見れるというのが従来ですね。

Power Apps グリッドコントロールで機能をオンにした場合

機能をオンにした場合、以下のようにビュー上の左に展開アイコンが追加され、クリックすると関連するテーブルがサブグリッド表示されます!

左の展開アイコンをクリックで指定したサブグリッドが表示(今回の例では明細)

複数レコードの同時展開も可能です

サブグリッドのインライン編集も可能!(ビュー自体編集可能かつ子もOKとしている場合)

設定でインライン編集をオン、かつ、子アイテムのグリッド表示も無効化をオフにしている場合はこっちもインライン編集ができてしまいます!

ビュー上のサブグリッドで各項目をインライン編集

一覧上で紐づいた子項目も画面遷移なしに確認・編集する用途にとても有用!

こちらですが、まずインライン編集はエクセルライクに一覧上で編集したい業務用途の場合に非常に有用ですよね。ひとつひとつフォームに遷移して編集する操作が省略できます(他にもExcelOnline編集やチェックして複数一括編集も出来ますが)

さらにこのビュー上にサブグリッドを表示する機能は、一つ一つの関連付いた内容(今回の例では見積に紐づく複数の明細レコード)を確認するのに非常に有用だと思います。
一覧上の操作だけで子のレコードを確認出来ますし、必要であればそのまま編集も出来るという便利さ。
こういった業務を効率よく行いたいというご要件は多いのではないでしょうか。それが出来ます!というものです。

おわりに

今回は以前もご紹介したPower Apps グリッドコントロールについて追加で記事を書きました。
子レコードの表示については、前回2023/12にJPPC2023に登壇した際も気づいてはいたんですが、ちゃんと使ったことがなかったので今回、GPPB2025JPでご紹介出来て良かったです。

モデル駆動型アプリの場合、用意されたコンポーネントでサクッと実装が出来ますが、いかんせんカスタマイズについてはキャンバスアプリほどの自由度がなく実現が難しい内容もありますが、逆にキャンバスで作ろうとすると難しかったり非常に工数がかかったりする機能が標準で搭載されている点が強いメリットですよね。
今回のPower Apps グリッドコントロールはビューの操作性や可視性を標準機能の設定のみで大幅に向上できる機能ですので、ぜひこのあたり知っていただき、ご活用いただければ幸いです。
その上で足りない機能的な面をローコードカスタムやプロコードカスタムで補うことでスピーディーにシステム構築が出来ると思います。それでは!

関連


この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

ヨウセイ

ヨウセイ

一般職からSharePoint、C#、.NET系技術者へ、そこからPower App、Power Automate技術者へと転身。 ワンランク上のおっさんはPower Appsでシステム開発が出来る〜! qiitaや自社HPでも技術ブログを書いていました。

関連記事

コメント

この記事へのコメントはありません。

CONTENTS