Power Apps グリッド コントロール
Power Apps グリッド コントロールは、Power Apps 読取りのみのグリッド コントロールの進化形であり、ユーザーがビューとサブグリッドからレコードを表示、開く、編集できるようにします。 このコントロールは、インライン編集に加えて、無限スクロール、ネストされたグリッド、グループ化、集計などの他の多くの強力な機能を提供し、カスタマイズ可能です。 読み取り専用グリッド コントロールと同様に、このコントロールは最新の Microsoft アクセシビリティ標準をサポートし、最新の Microsoft 設計ガイダンスに準拠しています。 このコントロールは、最終的にはモデル駆動型アプリケーションにおけるすべての読み取り専用および編集可能なグリッドに取って代わります。
- 無限スクロール: 最新のデータ参照エクスペリエンス。ユーザーは関心のあるレコードが見つかるまで、データを無限にスクロールできます。 ページ境界がないため、ユーザーは一度にさらに多くの行 (最大 1,000 行) を選択して、レコードのセットに対してアクションを実行したり、一括編集を実行したりすることが容易になります。
- インライン編集: この単一のグリッド コントロールは、読み取り専用または編集シナリオに利用できます。
- ネストされたグリッド: メーカーは、サーフェス関連のレコードを表示するようにグリッドを構成できます。 構成すると、ユーザーは行を展開して関連レコードのサブグリッドを表示できます。 グリッド内の複数の行を同時に展開できます。 これは、古いグリッド エクスペリエンスからの改善です。
- グループ化: ユーザーは、単一の列に基づいてデータをグループ化することで、表形式のデータを興味深い方法で整理できます。 各グループは最初は折りたたまれていますが、ユーザーは必要に応じてグループを展開したり折りたたむことができます。 グループ化は、ルックアップ列を除くほとんどのデータ型で公開されます。 グリッド上のページングが有効な場合、グループはサポートされません。
- 集計: ユーザーは、グリッド内の 1 つ以上の数値列の集計を有効にすることで、データから有意義な洞察を得ることができます。 各列について、ユーザーはその列の値の合計、最小値、最大値、または平均を表示するように選択できます。 グループ化が適用されている場合、この集計値もグループごとに表示されます。
- カスタマイズ可能: メーカーは、グリッド コンポーネント内のさまざまなエクスペリエンスを変更できます。
Power Apps グリッド コントロールをエンティティのビューに追加する
エンティティの Power Apps グリッド コントロールを構成すると、そのエンティティのすべてのビューは、グリッド コントロールを使用して表示されます。
- ソリューション エクスプローラーを開きます。
- エンティティを展開します。 必要なテーブルをブラウズして選択します。 コントロール タブにて、 コントロールの追加を選択します。
- コントロールの追加ダイアログ ボックスで Power Apps グリッド コントロールを選択し、追加を選択します。
Power Apps グリッド コントロールを構成する
Power Apps グリッド コントロール行で、グリッドを適用するタイプを選択します。 これにより、コントロールが選択されたクライアントの既定のコントロールになります。
コントロールに含まれるいくつかのプロパティで、そのテーブルのグリッド体験を調整することができます。 これらのプロパティを変更するには、対応する行で編集を選択し、静的オプションにバインドするのドロップダウン リストを使用して値を変更します。
- 編集を有効にするプロパティは、グリッドが読み取り専用か編集可能かを決定します。 既定値は不可です。 はいを選択して、グリッドを編集可能にします。 編集可能なグリッドには、トグル スイッチとドロップダウンを表示するブール列や、ホバーまたはフォーカス時にシェブロンや日付ピッカー アイコンを表示する日付フィールドなど、読み取り専用グリッドとは視覚的に微妙な違いがあります。
- フィルターを有効にするプロパティは、グリッド列ヘッダーのドロップダウンでユーザーがフィルター オプションを使用できるかどうかを決定します。 規定値は可能です。
- 並べ替えを有効にする プロパティは、ユーザーがグリッド列ヘッダーのドロップダウンで並べ替えオプションを使用できるかどうかを決定します。 規定値は可能です。
- グループ化を有効にする プロパティは、ユーザーがグリッド列ヘッダーのドロップダウンでグループ化オプションを使用できるかどうかを決定します。 既定値は不可です。
- 集計を有効にする プロパティは、ユーザーがグリッドの数値列で集計オプション (合計、最小、最大、平均) を使用できるかどうかを決定します。 既定値は不可です。
- 列の並べ替えを許可 プロパティは、ユーザーがグリッド内から直接列の並べ替えをできるかどうかを制御します。 これには、列ヘッダーのドラッグ アンド ドロップ、または列のヘッダーのドロップダウンからの 左に移動 アクションと 右に移動 アクションの使用が含まれます。 既定値は不可です。
- 複数選択を有効にする プロパティは、ユーザーがグリッド内の複数の行を同時に選択できるか、単一行のみを選択できるかを決定します。 規定値は可能です。
- 範囲の選択を許可するプロパティは、ユーザーがグリッドのサブセットを選択して、そのデータを Excel などの別のアプリケーションにコピーできるかどうかを制御します。 規定値は可能です。
- ジャンプ バーを有効化するプロパティは、ビューまたはサブグリッドの下部にアルファベットリストを表示するために使用します。 既定値は不可です。 以下は、モデル駆動型アプリの連絡先テーブルで有効になっているジャンプ バーのスクリーンショットです。
- ページ区切りを有効にするプロパティを使用して、最新のデータ ブラウジング (無限スクロール) ボタンとページング ボタンのどちらを使用するかを決定できます。 既定値は不可です。 はいを選択して、無限スクロールボタンとサーフェス ページング ボタンを無効にします。 無限スクロールの場合、すべてを選択 アクションは現在使用できませんが、ユーザーは範囲選択を行うことができます
- OptionSet の色を有効にする プロパティは、各値を設定された背景色で表示することにより、選択肢の列の視覚的な魅力を高めるために使用することができます。 既定値は不可です。 テーブルのこのプロパティを有効にする前に、読みやすさとアクセシビリティを確保するために、各選択肢カラムの設定された色を必ず確認してください。
- 行ステータス アイコンを表示 プロパティは、編集中にグリッド行の先頭にステータス アイコン (無効、保存中、保存中など) を表示するかどうかを制御します。 規定値は可能です。
- データ型アイコンを表示 プロパティは、列ヘッダーの列名の横にデータ型に対応するアイコンを表示するかどうかを決定します。 既定値は不可です。
- 許可されるナビゲーションタイププロパティは、グリッド内のどのルックアップ コントロールがハイパーリンクとしてレンダリングされるかを決定します。 規定値はすべてです。 プライマリのみ を選択すると、選択したエンティティのプライマリ列を除く、すべての検索フィールドでハイパーリンクが非表示になり、なし を選択すると、グリッドのすべてのハイパーリンクが非表示になります。
- リフロー動作 プロパティは、グリッド コンポーネントが常に表形式 (グリッドのみ) でレンダリングされるかどうかを決定します。リスト (リストのみ)、または使用可能な幅に応じて表形式とリストを切り替えます (リフロー)。 既定値は リフロー です。
- 子アイテム プロパティは、ネストされたグリッド機能を構成するために使用されます。これにより、ユーザーは行を展開してサブグリッド内の関連レコードを表示できます。 これを設定するには、関連レコードの取得元 エンティティ と、フィルタ、ソート、およびサブグリッドに表示する列を定義する ビュー を指定します。 デフォルト値では、ネストされたグリッドは構成されていません。
- 子アイテムの親 ID プロパティも、ネストされたグリッドを構成するのに必要で、親エンティティと子エンティティをリンクするために使用するフィールド (および関係) を指定します。
- 子アイテム グリッドの編集を無効にする プロパティでは、ネストされたグリッドの編集可能性を制御できます。 デフォルトでは、ネストされたグリッドは親グリッドの編集可能性を継承しますが、このプロパティを使用すると、親グリッドが編集可能な場合にネストされたグリッドでの編集を抑制できます。 既定値は不可です。
- カスタマイザー コントロール プロパティを使用すると、作成者は、グリッド内の 1 つ以上の列または空のグリッド ビジュアルのビジュアルやインタラクションを変更するための定義を含む単一のカスタマイザー PCF コントロールにリンクできます。。
Power Apps グリッド コントロールの設定をニーズに合わせて行った後、コマンドバーの保存を選択して変更内容を保存します。 アプリ ユーザーに変更を提供する準備ができたら、コマンド バーで 公開 を選択します。
Power Apps グリッド コントロールをサブグリッドに追加する
- ソリューション エクスプローラーを開きます。
- サブグリッドを含むフォームを開きます。
- このグリッドを設定するサブグリッドを選択し、コマンドバーからプロパティの変更を選択します。
- プロパティの設定ダイアログ ボックスで、コントロール タブを選択し、コントロールの追加を選択してから、Power Apps グリッドを選択します。
- コントロールの構成と公開を続行するには、Power Apps グリッド コントロールの構成 を参照してください。
カスタマイズ
拡張性 API を使用した Power Apps グリッド コントロールのカスタマイズ方法については、編集可能なグリッドコントロールのカスタマイズを参照してください。
既知の問題と制限事項
カード フォーム リストに関する制限
ビューまたはサブグリッドが狭くなると、モバイル デバイスなどの小さな画面に適したカード リスト形式に変わります。 Power Apps グリッド コントロールは、カード リストに次の動作を表示します:
- 並べ替えは現在、カード リスト ビューでは使用できません。 この制約を回避するには、必要な並べ替え順でビューを作成します。
- カード リスト ビューでは、すべて選択とすべてクリアは使用できません。
- ジャンプ バーはカード リスト ビューでは使用できません。 この制約を回避するには、検索 を選択してレコードをフィルターします。 目的の文字を入力し、Enter キーを押します。
- リスト内のレコードの画像は、カード リスト ビューには表示されません。 これには、テーブル アイコン、Web リソース 画像、カスタム画像、および条件付き画像が含まれます。 リスト内のレコードに対して表示される画像は、レコードのイニシャルのみです。
- カード リスト ビューには、コンテキスト メニュー コマンドのアイコンはありません。
- レコードがない場合、一部のリストには新しいアイテムを作成するためのプロンプトが表示されます。 このボタンは、Power Apps 読取り専用グリッド コントロールを使用するカード リスト ビューには表示されません。
リスト ビューには、テーブルのカスタム カードは表示されません
この問題を回避するには、従来の読み取り専用グリッド コントロールのカード フォームを使用するようにテーブルを構成することで、カスタム カードを表示できます。
Power Apps (make.powerapps.com) > 設定 > 詳細設定 > 設定 > カスタマイズ > システムのカスタマイズ > エンティティ を展開 > カスタマイズするテーブルを選択 > コントロール タブ > コントロールの追加 に移動します。
読み取り専用グリッド を選択し、追加 を選択します。 そのグリッドを 1 つ以上のクライアント フォーム ファクターに表示することを選択します。
カード フォーム プロパティの プロパティの構成 (鉛筆アイコン) を選択し、ドロップダウン リストからカスタム カード フォームを選択します。
OK を選択し、カスタマイズを 公開 します。
UI の制限と読み取り専用グリッド コントロールとの違い
- グリッドは現在、レガシ テーマのカスタマイズに対応していません。
- データのないセルには、3 つのダッシュ --- ではなく空白が表示されます。
- 所有者列には、ユーザーのオンライン ステータスとユーザー カードは表示されません。
- 列検索フィルターは、「等しい」または「等しくない」演算子を使用する場合、現在適用されているフィルター セット内で使用可能な検索オプションのみを表示します。
- たとえば、連絡先テーブルにユーザー「Person A」、「Person B」、「Person C」があり、アカウント テーブル データには「Person B」と「Person C」を参照する行しかない場合、アカウント グリッドの連絡先列の列フィルター検索には、「Person B」と「Person C」のオプションのみが表示されます。 これは、以前のグリッドからの動作の変更です。
既知の問題
- グリッド上のページングが有効な場合、列のグループはサポートされません。
- グリッドに表示されるデータセットに重複行が含まれている場合は、重複部分がグリッドに表示されない場合があります。 この理由から、表示されるレコード数が実際にグリッド内にあるレコードの数よりも多く表示される場合があります。また、データを Excel にエクスポートしたり、レガシ機能の高度な検索でデータを表示したりする際に、より多くのレコードが表示される可能性があります。 この動作は、Power Apps のグリッド コントロールだけでなく、すべてのグリッド コントロールが対象です。
- ユーザーがメイン リストに対して読み取り専用権限を持ち、フォームから書き込み権限を持つエンティティを表すサブグリッドに移動した場合、アクセスはまずメイン エンティティによって決定され、次に関連エンティティによって決定されるため、サブグリッドではユーザーが変更を加えることはできません。