この KB は 製品バージョン 8.2.13 をベースにしています。
IgxGrid では、列の cellClasses プロパティを利用することで、特定の条件においてセルをスタイリングすることができます。
セルに適用するスタイル
::ng-deep {
.short {
color: red;
}
}
スタイルの適用
IgxGrid のバインドデータに classes 要素を持つフィールドがあれば、IgxGrid の対応する列(IgxColumn)の cellClasses プロパティに cellTextClasses オブジェクトを割り当てます。
<igx-grid #grid1
[data]="data"
[primaryKey]="'ID'"
[width]="'917px'" [height]="'334px'"
[displayDensity]="'compact'">
<igx-column *ngFor="let c of columns"
[field]="c.field"
[header]="c.headerText"
...
[cellClasses] = "c.classes ? cellTextClasses : null">
</igx-column>
</igx-grid>
export class AppComponent implements OnInit {
title = 'igx-grid-cell-styles';
...
cellTextClasses = {
short: (rowData, columnKey, cellValue, rowIndex) => {
return rowData[columnKey] < 20;
}
};
ngOnInit() {
// 列の定義
this.columns = [
{ field: 'ID', headerText: 'ID', width: 100 },
{ field: 'ProductName', headerText: '商品名', width: 200 },
{ field: 'Supplier', headerText: '仕入れ先', width: 200 },
{ field: 'UnitPrice', headerText: '単価', width: 200 },
{ field: 'UnitsInStock', headerText: '在庫', width: 200, classes: this.cellTextClasses },
];
// データ
...
}
}
実行結果
「在庫」列の値が 20 以下のセルは、文字色に赤色が適用されます。

サンプル
リファレンス
- cellClasses プロパティ
Pingback: IgxGrid 条件に応じてセルに異なるスタイルを適用する – INFRAGISTICS ナレッジベース