如何根据jQuery数据表中的列值设置表行的颜色

时间:2013-05-03 07:05:37

标签: jquery datatables

我正在使用jQuery datatables.I有如下数据

Column1 Column2 Column3
-----------------------
 AAA    BBB     CCC
 AAA    GGG     YYY
 BBB    ooo     LLL

现在在前1行的第1列中,我有相同的值AAA。我想对它们应用一些颜色  rows.And然后另一种颜色为第三行。就像我有30条记录。是否有可能这样做。如果可能的话我怎么做。我正在使用jQuery数据表。谢谢提前..

3 个答案:

答案 0 :(得分:46)

使用fnRowCallback(或更新的rowCallback)来实现此目标

$('#example').dataTable({
    "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
        switch(aData[0]){
            case 'AAAA':
                $(nRow).css('color', 'red')
                break;
            case 'BBBB':
                $(nRow).css('color', 'green')
                break;
            case 'CCCC':
                $(nRow).css('color', 'blue')
                break;
        }
    }
});

演示:Fiddle

答案 1 :(得分:7)

API最近发生了变化,您现在应该使用aData ['Column1']而不是aData [0]

答案 2 :(得分:3)

在v 1.10

中添加了

createdRow功能

  

当创建TR元素(并且已插入所有TD子元素)时执行此回调,或者在使用DOM源时注册,允许操纵TR元素。

     

这在使用延迟呈现(deferRender)或服务器端处理(serverSide)时特别有用,因此您可以在创建行时添加事件,类名信息或以其他方式格式化行。

https://datatables.net/reference/option/createdRow

示例:

    $('#example').dataTable({
        // ...
        "createdRow": function( row, data, dataIndex ) {
            if ( data["column_index"] == "column_value" ) {
                $( row ).css( "background-color", "Orange" );
                $( row ).addClass( "warning" );
            }
        },
        // ...
    });
相关问题