Tabulator tips

第2回 通貨表示で値がマイナスの時、赤で表示する

2019.11.27

通貨表示は formatter に "money" を定義します。 値がマイナスの時、赤で表示するために formatter にカスタム関数(disp_red) を定義します。

しかし、formatter に2つを定義をすることはできません。

そのため、"money" 指定をやめて、カスタム関数(disp_red) で 「通貨表示(カンマ付数値表示)」と「数値を赤くする処理」を行うことにします。

// カスタム関数で通貨表示(カンマ付数値)を返す処理を行う。
// 小数点以下は四捨五入した。
var disp_red=function(cell){
    var val = cell.getValue();
    if(val<0) cell.getElement().style.color="#ff0000";
    // valに値がある場合、通貨表示(カンマ付数値)に変換して返す
    return (val)?Math.round(val).toLocaleString():val;
}

以下、カラム定義、データ定義、実行結果、サンプルコードです。

カラム定義

{
    title:"数値",
    field:"number",
    align:"right",
    formatter:disp_red, // カスタム関数
    bottomCalc:"sum",
    bottomCalcFormatter:disp_red, // カスタム関数
}

データ定義

{number: 3000.5},
{number: 100.4},
{number: 0},
{number: -10000},
{number: undefined},
{number: NaN},
{number: null},

実行結果

サンプルコード

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<link href="https://unpkg.com/tabulator-tables@4.4.3/dist/css/tabulator.min.css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/tabulator-tables@4.4.3/dist/js/tabulator.min.js"></script>
</head>
<body onload="show_table()">
<h1 id=title>通貨表示で値がマイナスの時、赤で表示する </h1>
<div id="table"></div>

<script type="text/javascript">
// カスタム関数で通貨表示(カンマ付数値)を返す処理を行う。
// 小数点以下は四捨五入した。
var disp_red=function(cell){
    var val = cell.getValue();
    if(val<0) cell.getElement().style.color="#ff0000";
    // valに値がある場合、通貨表示(カンマ付数値)に変換して返す
    return (val)?Math.round(val).toLocaleString():val;
}
var show_table=function(){
    var tdata = [
        {number: 3000.5},
        {number: 100.4},
        {number: 0},
        {number: -10000},
        {number: undefined},
        {number: NaN},
        {number: null},
    ]
    new Tabulator("#table", {
        data:tdata,
        columns: [
        {
            title:"数値",
            field:"number",
            align:"right",
            formatter:disp_red, // カスタム関数
            bottomCalc:"sum",
            bottomCalcFormatter:disp_red, // カスタム関数
        }
        ],
    });
}
</script>

著者プロフィール

naka

すきなコマンドは awk と bc です。なにかを計算する時、awk か bc を使います。

記事一覧Index