Power Apps データを表形式で表示するデータテーブルについてまとめ|ギャラリーとの使い分け考察も

Power Appsでデータの一覧表示を実現するコントロールには「ギャラリー」と「データテーブル」がある。

いつも「ギャラリー」ばっかり使っていたんだけど、今回「データテーブル」を使用する機会があったので、使い方とかギャラリーとの違いをメモ。

スポンサーリンク

データテーブル

データテーブルコントロールはデータをExcelのようにテーブル形式で表示できるコントロール。

例えばO365コネクタのユーザーデータを結びつけるとこんな感じで表示される。
詳しくは公式を見てほしいのだけれど、この辺がデータテーブルの主な特徴かなと。

  • 単一選択(複数選択は不可)
  • 列幅変更可能(保存はされない)
  • ハイパーリンクの表示とクリックでの遷移が可能
  • 自動でヘッダーを出してくれる
  • スクロールバーが2方向(縦と横)に出る

基本的な使い方

使い方はとても簡単。データテーブルを出して
Itemsプロパティにデータを入れてあげる。
そしたら、「フィールドの編集」から出したいデータを選ぶだけで表形式でデータを表示してくれる。
便利!
もちろんSharePointのリストとかも表示できて、SharePointのこんなリストを
SharePointコネクタを使って結びつけると、こんな感じで表示される。

データの選択も可能

データテーブルはデータの選択状態を保持しているので、同じDataSourceのフォームを横に用意してあげて、
フォームのItemプロパティと、データテーブルのSelectedプロパティを結び付けてあげると、選択しているデータをフォームで表示することとかもできちゃう。

「ギャラリー」との使い分け

同じようにデータを一覧で表示するコントロールに「ギャラリー」がある。

この2つのどっちを使うか?を考える際は、

  • 細かいUI設定はせず、表示する情報量が多い:データテーブル
  • 細かいUI設定をしつつ、表示する情報量はあまり多くない:ギャラリー

という感じかなと思っている。

以下、2つの違いを少し細かく見ていく。

スクロールバーの表示の違い

まず、スクロールバーの表示の違いはこんな感じ。

  • ギャラリー:縦 or 横
  • データテーブル:縦と横
こちらの画像は上がデータテーブルで、下がギャラリーで作ったなんちゃってデータテーブルなんだけど、スクロールバーの違いが一目瞭然。

横にも縦にも情報が多いデータを表示するときはデータテーブルがよさそう

見た目の細かい調整

見た目の細かい調整は圧倒的にギャラリーの方が上。

こんな感じで、画像やらボタンやらを追加でき、コントロールごとにOnSelectも指定できる。

一覧表示したデータをある程度見た目よく表示したいときはギャラリーの方がよさそう

列の追加→データテーブルはLookUpが使えない?

例えばこんなマスタがSharePointリストとかにあって

Power Appsの画面に列を1個追加して社員番号も表示したい!となったとき、

ギャラリーは単純にLookUpを使ってデータを引っ張ってくればよいんだけど、
データテーブルでは同じLookUp式を使っても、なぜかバグってしまう。。。
そこで、Itemsに入れるデータ自体をAddColumnsとかでいじってあげる必要がある。

一覧表示したデータごとに何かしら処理をしたいときはギャラリーの方が融通がききそう

データテーブルは外部からItemsへアクセスできない

データテーブルは一覧表示しているデータへ外側からアクセスすることができないっぽい。

例えば一覧表示したデータの個数を数えたいとき、ギャラリーだとAllItemsプロパティを使えばこんな感じで実現できて、

ForAll関数とAllItemsプロパティを組み合わせるとループ処理も実現できるんだけど、データテーブルはこのAllItemsプロパティに当たるプロパティが無さげ。

そこで、データテーブルのデータの個数を数えたいってなると、DataTableのItemsに入れたデータと同じデータをカウントする必要がある。

これってREST2回投げる(投げてると思う)から、多少なりともパフォーマンスに影響するような。。。

結論

ということで、冒頭でも述べたけど、

細かいUI設定はせず、各データへのアクセスもせず、表示する情報量が多いデータを扱う場合は「データテーブル」を、

細かいUI設定がしたい、または各データへのアクセスがしたい場合や、表示する情報量が少ないデータを扱う場合は「ギャラリー」を、

選ぶのが良いかと。

ちなみに体感だけど、表示速度はデータテーブルの方が速そう(あくまで体感)。

関連記事

コメント

タイトルとURLをコピーしました