コンテンツにスキップ
「プリザンター入門」発売中!

一覧画面で数値の範囲によってセルの色を変えたい

回答

サーバスクリプトとスタイルを使用してください。


概要

サーバスクリプトで一覧画面上の指定した数値項目の範囲によって「セルCSS」を割り当て、セルの背景色を変更します。

一覧画面で数値の範囲に応じてセルの背景色が変わっている状態

操作手順

  1. テーブルを作成します。
  2. 「数値C(NumC)」を一覧画面の項目の設定で有効化します。
  3. 以下のサーバスクリプトを「新規作成」します。 条件は"行表示の前"を選択します。
  4. 以下のスタイルを「新規作成」します。 「出力先」は"一覧"を選択します。

スクリプト

JavaScript(サーバスクリプト)
// 数値Cの値が10,000未満であれば背景を赤、20,000〜30,000未満であれば黄色、30,000以上であれば青に変更します。背景色の指定は、事前に設定したスタイルを使用します。
const total = model.NumC;
if (total < 10000) {
    columns.NumC.ExtendedCellCss = 'cell-blue';
} else if (total >= 10000 && total < 30000) {
    columns.NumC.ExtendedCellCss = 'cell-yellow';
} else if (total >= 30000) {
    columns.NumC.ExtendedCellCss = 'cell-red';
}

スタイル

ver1.4.20.0前後で記載方法が異なりますのでご注意ください。

ver1.4.20.0以降

CSS(スタイル)
/* 合計が10000円未満 */
.grid td.cell-blue {
    background-color: blue;
    color: white;
}
/* 合計が10000円以上、30000円未満 */
.grid td.cell-yellow {
    background-color: yellow;
    color: black;
}
/* 合計が30000円以上 */
.grid td.cell-red {
    background-color: red;
    color: black;
}

ver1.4.19.2以前

CSS(スタイル)
/* 合計が10000円未満 */
.cell-blue {
    background-color: blue;
    color: white;
}
/* 合計が10000円以上、30000円未満 */
.cell-yellow {
    background-color: yellow;
    color: black;
}
/* 合計が30000円以上 */
.cell-red {
    background-color: red;
    color: black;
}

関連情報