概要

Ignite UI for Angular の IgxGrid では、Excel Style Filter メニューの表示内容をテンプレート機能で細かくカスタマイズできます。

Excel Style Filter メニューは「カラム操作エリア」と「フィルター操作エリア」の 2 つに分かれており、それぞれ専用のディレクティブで再テンプレート化できます。ソートボタンや詳細フィルターなど、任意のコンポーネントを表示・非表示にすることが可能です。

対象コントロール

  • Infragistics Ignite UI for Angular — IgxGrid(Excel Style Filter)

問題

Excel Style Filter メニューに表示される各機能(ソート・ピン・非表示・詳細フィルターなど)の一部だけを非表示にしたい場合、カラム属性(disablePinning / disableHiding / sortable)では制御できる範囲に限りがあります。特に詳細フィルター(igx-excel-style-conditional-filter)には対応するプロパティがありません。

解説

Excel Style Filter メニューは以下の 2 つのエリアに分かれており、それぞれ専用のディレクティブで再テンプレート化できます。

エリアタグディレクティブデフォルトの内容
カラム操作エリア(上)igx-excel-style-column-operationsIgxExcelStyleColumnOperationsTemplateDirectiveソート・ピン・非表示ボタン
フィルター操作エリア(下)igx-excel-style-filter-operationsIgxExcelStyleFilterOperationsTemplateDirective検索リスト・詳細フィルター

テンプレート内に含めたコンポーネントだけが表示されます。不要なコンポーネントを記述しないことで、任意の要素を非表示にできます。

使用できるコンポーネント

igx-excel-style-column-operations(カラム操作エリア)および igx-excel-style-filter-operations(フィルター操作エリア)の中に、以下のコンポーネントを必要なものだけ記述します。記述したコンポーネントのみが表示されます。

コンポーネントエリア内容
igx-excel-style-headerカラム操作ピン固定・非表示ボタン。showPinning / showHiding 属性で個別に表示・非表示を制御できます。
igx-excel-style-sortingカラム操作昇順・降順のソートボタン。
igx-excel-style-searchフィルター操作検索ボックスとチェックボックスリスト(値の絞り込み)。
igx-excel-style-conditional-filterフィルター操作詳細フィルター(条件式を入力するダイアログを開くボタン)。このコンポーネントを省くことで非表示にできます。

サンプルコード

詳細フィルター(igx-excel-style-conditional-filter)を非表示にする場合は、igx-excel-style-filter-operations 内に igx-excel-style-search のみを記述し、igx-excel-style-conditional-filter を省略します。

<igx-grid [data]="data" [allowFiltering]="true" [filterMode]="'excelStyleFilter'">
  <igx-grid-excel-style-filtering>

    <igx-excel-style-column-operations>
      <igx-excel-style-header
        [showPinning]="true"
        [showHiding]="true">
      </igx-excel-style-header>
      <igx-excel-style-sorting></igx-excel-style-sorting>
    </igx-excel-style-column-operations>

    <igx-excel-style-filter-operations>
      <igx-excel-style-search></igx-excel-style-search>
      <!-- igx-excel-style-conditional-filter を書かない → 非表示 -->
    </igx-excel-style-filter-operations>

  </igx-grid-excel-style-filtering>
</igx-grid>

まとめ

  • Excel Style Filter メニューはカラム操作エリアとフィルター操作エリアの 2 つに分かれており、それぞれ専用のディレクティブで再テンプレート化できます。
  • テンプレート内に含めたコンポーネントだけが表示されるため、不要なコンポーネントを省くことで任意の要素を非表示にできます。
  • igx-excel-style-headershowPinning / showHiding 属性を使うと、ピン・非表示ボタンを個別に制御することも可能です。

参考ドキュメント

https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/excel-style-filtering

製品について

Ignite UI for Angular