igGridでセルの値に応じて行全体の色を変えてみましょう。完成イメージはこんな感じになります。

方法は2つあります。
方法1: columnsのtemplateを使ってCSSクラスを追加する
テンプレートエンジンを使って在庫数が20未満かどうか判定し、20未満であれば背景色をピンク色にするCSSをTDに対して追加します。
テンプレートエンジンを設定する場所は、columnsのtemplateオプションです。
下のコードスニペットでは、12行目、16行目、20行目が実装箇所です。
<style>
#grid1 > tbody > tr > td.myStyle {
background-color: pink;
}
</style>
...
$("#grid1").igGrid({
...
columns: [
{
headerText: "製品ID", key: "ProductId", dataType: "number",
template: "<td {{if ${StockedAmount} < 20}} class='myStyle' {{/if}}>${ProductId}</td>"
},
{
headerText: "製品名", key: "ProductName", dataType: "string",
template: "<td {{if ${StockedAmount} < 20}} class='myStyle' {{/if}}>${ProductName}</td>"
},
{
headerText: "在庫数", key: "StockedAmount", dataType: "number",
template: "<td {{if ${StockedAmount} < 20}} class='myStyle' {{/if}}>${StockedAmount}</td>"
},
],
...
});
方法1のサンプル
方法1のリファレンス
テンプレート エンジンの概要
https://jp.igniteui.com/help/igtemplating-overview
columnsのtemplateオプション
https://jp.igniteui.com/help/api/2019.1/ui.iggrid#options:columns.template
方法2: rowsRenderedイベントでCSSクラスを追加する
行が描画されたタイミングで発生するrowsRenderedイベントのイベントハンドラーで、
- 描画された行のコレクションを取り出し(下のコードスニペットでは13行目。以下同様)、
- 各行に紐づいた要素からバインドされているデータを取り出し(22~28行目)、
- 在庫数が20未満かどうか判定し(33行目)、
- 20未満であれば背景色をピンク色にするCSSをTDに対して追加します(35行目)。
<style>
#grid1 > tbody > tr > td.myStyle {
background-color: pink;
}
</style>
...
$("#grid1").igGrid({
...
// rowsRenderedイベントのイベントハンドラー
rowsRendered: function(evt, ui){
// 描画されたTR要素を取り出す
var rowTrs = ui.owner.rows();
// 各TR要素について
$.each(rowTrs, function (index, item) {
// itemの存在チェック
if(item !== undefined && item !== null){
// TR要素に紐づいた要素の情報を取り出す
var elementInfo = ui.owner.getElementInfo(item);
// TR要素に紐づいた要素の情報を取り出せたら
if(elementInfo !== undefined && elementInfo !== null){
// 行IDからバインドされているデータを取り出す
var record = ui.owner.findRecordByKey(elementInfo.rowId);
// 行IDからバインドされているデータを取り出せたら
if(record !== undefined && record !== null){
// 「StockedAmount」の値が20未満なら
if (record.StockedAmount < 20) {
// 背景色をピンクにするclassを当てる
$(item).find("td").addClass("myStyle");
}
}
}
}
});
}
...
})
方法2のサンプル
方法2のリファレンス
rowsRenderedイベント
https://jp.igniteui.com/help/api/2019.1/ui.iggrid#events:rowsRendered
getElementInfoメソッド
https://jp.igniteui.com/help/api/2019.1/ui.iggrid#methods:getElementInfo
findRecordByKeyメソッド
https://jp.igniteui.com/help/api/2019.1/ui.iggrid#methods:findRecordByKey