根据数据放一个class ajax 数据表

Put a class depending on the data ajax datatables

我搜索了很多,我非常确定它可以很容易地完成,但我找不到办法。因此,我使用 jQuery DataTables 并尝试生成一个 class 并根据我收到的值执行一些 javascript 操作。例如,当单位为负数时放置红色背景等简单的东西。我已经为此创建了 CSS,现在我正在通过 ajax 加载一个 JSON 文件数据表的参数。这是我的 javascript:

     table = $('#activitiesTable').DataTable({
            "ajax": "data.txt",
            "columns": [
                { "data": "id" },
                { "data": "description" },
                { "data": "type_of_expenditure" },
                { "data": "real_cost" }
            ]
        });

我知道在列参数中,您可以在 json 中调用 "className" 后立即设置 class,但我不确定如何生成 class class 通过比较一个变量。例如,我想这样做:

      "columns": [
            {
               "data" : "id",
               "className": (data.id < 0 ? "negative" : "positive"))
            } 
       ]

不确定是否可以通过这种方式完成?或者,如果我每次启动 ajax 调用时都必须检查 jQuery,但我觉得它可以很容易地在那里初始化...

我发现你可以这样使用它:

                 { 
                    "data": "forcast_profit_loss",
                    "createdCell": function (td, cellData, rowData, row, col) {
                      if ( cellData < 0 ) {
                        $(td).addClass('number number-negative');
                        $(td).text(cellData.substr(1));
                      }
                      else{
                        $(td).addClass('number number-positive');
                      }
                    }
                }

您可以在此处找到有关它的参考资料:https://datatables.net/reference/option/columns.createdCell