キャンバス アプリのデータセット コンポーネントの実装
このサンプルでは、キャンバス アプリに使用するデータセットコンポーネントを作成する方法を説明します。 データセット コンポーネントでは、データセット API メソッドを使用して、列のメタデータの取得、データの記録、データのページ移動、ナビゲーションの処理を行う方法も示します。
以下に使用できます
キャンバス アプリ。
コード
完全なサンプル コンポーネントは、こちら からダウンロードできます。
注意
一部のデータセット API メソッドは、キャンバス アプリにはまた対応していません。 機能の詳細については、個々の API ドキュメントを参照してください。 データセット タイプのコンポーネントがキャンバス アプリに実装されているかについては、キャンバス アプリに使用するデータセット コンポーネント を参照してください。
このサンプルでは、列情報の抽出に context.parameters.[dataset_property_name].columns
を使用します。 それは配列の種類です。 これらの利用方法は、キャンバス アプリとモデル駆動型アプリのどちらでも同じです。
マニフェストで複数のデータセットを定義できます。 マニフェストの最初のデータセットをプライマリ データセットとします。 複数のデータセット コンポーネントを構成する場合、プライマリ データセットのプロパティは常に Items
という名前になります。 プライマリ以外のすべてのデータセット プロパティには、データセット名の後に接尾辞 _Items
が付きます。
作成パネルの特定の機能は、データ ソース セレクター、フィールド セレクター、ビュー セレクターなどのプライマリ データセット プロパティにのみ適用されます。 プライマリ以外のデータセット プロパティを構成するには、作成者は最初にデータ ソースをアプリにインポートし、プロパティ値をそのセカンダリ データ ソースに設定する必要があります。 プロパティ セットは、プライマリ以外のデータセット プロパティの列へのアクセスに使用する必要があります。
レコードのバインド
- ソートされたレコード ID 情報の抽出には、
context.parameters.[dataset_property_name].sortedRecordIds
を使用します。 context.parameters.[dataset_property_name].records
を使用してすべてのレコード情報を取得します。context.parameters.[dataset_property_name].records[record_Id]
を使用してそれそれのレコード オブジェクトを取得する- フォーマットされた値は
getFormattedValue
メソッドを使用して取得できます。
さらにデータのページを読み込む
context.parameters.[dataset_property_name].paging
メソッドではページング機能を利用できます。 次のページ データがある場合は Load Next
ボタンが表示されます。 ユーザーは、Load Prev
ボタンを使用して前のページに戻ることができます。
プロパティ セット
プロパティ セットは、レコード内の特定の列の個々の列値にアクセスするために使用されます。 たとえば、マップ コントロールは、データセットの経度や緯度を使用して、マップ内の位置情報 ping を表示できます。 このサンプル コンポーネントでは、マニフェストで samplePropertySet
と samplePropertySet2
という 2 つのプロパティ セットが定義されています。 列名を構成する前にコンポーネントをキャンバス アプリに追加すると、ユーザーには 2 つの空の列が表示されます。 プロパティ セットの場合、対応する列が最初に追加され、順序は 0 になります。
サイズ
このサンプルでは、コンポーネントがコンテナのサイズ変更をリスニングする方法も紹介します。 trackContainerResize
メソッドは init
メソッド内で呼び出す必要があるため、updateView
が呼び出されるたびに mode.allocatedWidth
と mode.allocatedHeight
が入力されます。 最初にこのメソッドが呼び出されないと allocatedWidth
と allocatedHeight
の値がが入力されません。 allocatedHeight
が –1 の場合、高さに制限がないことを意味します。 コンポーネントは提供された幅に基づいて高さを調整する必要があります。
キャンバス アプリでサポートされていないデータセット API メソッド
Filter と SortStatus
このキャンバス アプリのプレビューでは、filtering と sortStatusメソッドの組み合わせのみに対応しています。 フィルターと並べ替えは、GUID を除くプライマリ タイプの列のデータセットに適用できます。 フィルターと並べ替えは、モデル駆動型アプリと同じ方法で適用できます。 情報をフィルターおよびソートしてデータセットを取得するには、context.parameters.[dataset_property_name].filtering
と context.parameters.[dataset_property_name].sorting
のメソッドを呼び出し、続いて context.parameters.[dataset_property_name].refresh()
を呼び出します。
ビュー
モデル駆動型アプリでは、データセット コンポーネントが列の情報を取得するためにビューが必要となります。 キャンバス アプリでは、ビューはフィルターとして使用します。 各コンポーネントにどの列を追加するかは、アプリの開発者が決定します。 データセット コンポーネントのソースを選択すると、ビューを選択できます。 これは、ソースに Microsoft Dataverse を選択した場合にのみ適用されます。 ビューを選択すると、ビューのフィルターがソースに適用されます。 ビューの名称とビューの ID は、context.parameters.[dataset_property_name].getTitle()
と context.parameters.[dataset_property_name].getViewId()
メソッドを使用して取得することができます。
関連トピック
サンプル コンポーネントをダウンロード
サンプルコンポーネントの使用方法
Power Apps Component Framework API の参照
Power Apps component framework のマニフェスト スキーマ リファレンス
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。