Close
Angular React Web Components Blazor Web Components
Premium

Web Components マスターと詳細 Grid

Grid コンポーネントは、コンテンツを展開/縮小することで特定の行の追加の詳細を表示する詳細テンプレートの指定をサポートします。指定した場合、各レコードはマスターとして機能し、展開すると、現在のレコードのコンテキスト データを含むカスタマイズ可能な詳細テンプレートが表示されます。

このモードは、マスターと詳細スタイル データを階層構造で表示する必要がある場合に役立ちます。

Web Components Grid マスターと詳細の例

構成

マスターと詳細モードで表示するように Grid を設定するには、グリッドのテンプレートを指定する必要があります。

constructor() {
  var grid = this.grid = document.getElementById('grid') as IgcGridComponent;
  this._bind = () => {
    grid.data = this.customersData;
    grid.detailTemplate = this.masterDetailTemplate;
  }
  this._bind();
}

テンプレートのコンテキストはマスター レコード データであるため、マスター レコードの値を詳細テンプレートに表示できます。例:

    public masterDetailTemplate = (ctx: IgcGridMasterDetailContext) => {
        var data = ctx.implicit;
        return html` <div class="contact-container">
        <span><strong>Name:</strong> ${data.ContactName}</span> <br/>
        <span><strong>Title:</strong> ${data.ContactTitle}</span> <br/>
        <span><strong>Company:</strong> ${data.CompanyName}</span> <br/>
    </div>`;
    }

API

展開状態を制御するための追加の API メソッドも公開されています。

キーボード ナビゲーション

  • 詳細行にフォーカスがある場合:

    • 🡑 - 前の行のセルにフォーカスし、1 つ上の行へ移動します。
    • 🡓 - 次の行のセルにフォーカスし、1 つ下の行へ移動します。
    • TAB - フォーカス可能な要素がある場合、テンプレート内の次のフォーカス可能な要素にフォーカスを移動します。そうでない場合は、次のグリッド行に移動します。
    • SHIFT + TAB - 前の行にフォーカスします。
  • エキスパンダーのデータ行にフォーカスがある場合:

    • ALT + 🡒 または ALT + 🡓 - 行を展開します。
    • ALT + 🡐 または ALT + 🡑 - 行を縮小します。

既知の問題と制限

既知の制限説明
カスタム詳細テンプレート内のタブ ナビゲーションは、次のフォーカスされた要素が表示ビュー ポート以外にある場合、マスター グリッドのスクロール位置を更新しない場合があります。カスタム詳細テンプレート内のタブ ナビゲーションは、ブラウザーに残されています。
詳細テンプレートは Excel にエクスポートされません。詳細テンプレートにはあらゆる種類のコンテンツが含まれているため、Excel にエクスポートすることはできません。
検索機能は、詳細テンプレートの要素をハイライト表示しません。

API リファレンス

Grid
Column
IgcGridRowComponent