jquery数据表整列背景颜色

时间:2016-02-07 05:34:08

标签: javascript jquery datatables

我有一个数据表,我想在最后一行对基于列的值进行颜色编码。 如果TYPE值为" O"然后应用黄色,否则没有。我的专栏是动态的。

预期结果:

enter image description here

 var dt=  $(element).dataTable({
            deferRender: true,
            destroy: true,
            "aaData": data, // data is coming from service
            "aoColumns": columns // column is dynamic
        });

2 个答案:

答案 0 :(得分:2)

  

<强>解

您可以使用drawCallback来处理表格绘制事件,并使用columns().every()枚举列数据,以查找包含所需值的列并突出显示它们。

var table = $('#example').DataTable({
    drawCallback: function(){
       var api = this.api();

       api.columns().every( function () {
          var data = this.data();

          if($.inArray('O', data) !== -1){
             $(this.nodes()).addClass('highlight');
          } else {
             $(this.nodes()).removeClass('highlight');
          }
       });
    }
});

请注意,上面的代码会在所有行中检测到O。要只处理最后一行,您需要添加更多代码。

  

<强>样本

请参阅this jsFiddle以获取代码和演示。

答案 1 :(得分:0)

使用rowCallback

$(element).dataTable({
    "rowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
        switch(aData[0]){
            case 'O':
                $(nRow).css('backgroundColor', 'yellow');
                //also style other rows here
                break;
        }
    }
});

简单演示:Fiddle