グリッドのマスター詳細テンプレート
マスター詳細テンプレートとは?
マスター詳細テンプレートを使用すると、行を展開してレコードに関する追加情報を表示することで、データ グリッドを充実させることができます。この機能により、ユーザーがクリックして関連する集計や特定の行コンテキスト データに関連付けられたその他のコンポーネントを表示できるインタラクティブなビューを構築できます。
何ができるのか?
App Builder のマスター詳細テンプレートのサポートにより、以下のことが可能です:
- 追加の行データを表示できる展開可能な行を利用
- コンポーネント バインディングのサポートを活用し、カード、テキスト ブロック、その他のコンポーネントを追加して、行ごとのデータを利用
App Builder における仕組み
- App Builder では、行の詳細領域にコンポーネントを挿入するデザイン時エクスペリエンスが提供されます。
- この領域内のコンポーネントは以下にバインドできます:
- 現在の行のデータ コンテキスト
- その他のデータ ソースと変数のコンテキスト
- テンプレートが App Builder キャンバスと App プレビュー内でどのように表示されるかを簡単にプレビューできます。
試してみましょう
マスター詳細テンプレートの使用を開始するには:
- キャンバスに Grid を追加します。
- グリッド プロパティ パネル -> カスタム テンプレートの下で、グリッド詳細スイッチをクリックします。
- 詳細領域内で、使用したいコンポーネントをドラッグ アンド ドロップします。
- グリッド行コンテキストのフィールドにバインドします。
- アプリをプレビューし、コードをエクスポートして機能をさらに拡張します。
既知の制限
コンテキスト バインディングと行 ID パラメーターの非対応
マスター詳細テンプレート内でコンポーネントを使用する場合、現在の行の ID をパラメーターとして使用するようなコンテキスト バインディングには対応していません。コンポーネントのデータ ソースにパラメーターが必要な場合は、それらをマスター詳細 (行) コンテキストにバインドしないでください。代わりに、手動の値または定義済みの変数を使用してください。この制限は、行ごとのパラメーター バインディングを含むサポートされていないコード生成シナリオを回避するのに役立ちます。
Note
この制限が適用されるのは、データ ソースのパラメーターおよび繰り返し要素のデータ バインディングのみです。コンポーネント間の操作で使用される Set Data アクションのパラメーター ピッカーなど、その他のパラメーター指定コンポーネントには影響せず、引き続き完全にサポートされています。
この制限が役立つ理由:
- 動的なサブスクリプションに関する曖昧さの回避
- キャッシュがない場合のパフォーマンス低下の防止
現在、コンテキスト バインディングを使用してデータ コレクションを繰り返す処理は CodeGen では実装されていません
現在、コンテキスト バインディングを使用してデータ コレクションを繰り返す処理は CodeGen では実装されていません。このようなシナリオは、コードの自動生成に失敗します。
オーバーレイ コンポーネント (例: Dialog、Banner)
マスター詳細テンプレート内に配置された Dialog や Banner などのオーバーレイ要素は、現在のところ生成されたコードでは正しく動作しません。
これらのコンポーネントは App Builder プレビューでは機能しているように見えますが、生成されたアプリケーションでは行データのコンテキストを保持しません。たとえば、EmployeeId
などの詳細を表示するダイアログは、ローカル実行時にはその値にアクセスできません。