根据数据值将类添加到单元格

时间:2013-09-10 11:36:02

标签: javascript jquery datatables

我有一个数据表

<table data-bind="dataTable: { 
        data: items, 
        options: {
            bPaginate: false,
            aaSorting: [[0, 'desc']],
            aoColumns: [ 
                { sClass: 'date', mDataProp: 'date' }, 
                { mDataProp: 'time' }, 
                { sClass: 'name', mDataProp: 'name' }, 
                { sClass: 'thought', mDataProp: 'thought' } 
            ] 
        } 
    }">

我没有显示的项目中还有另一个值(思维类型)。 我想根据'思想类型'的值改变单元格'思想'的类。

因此,如果思维类型是新想法,我希望显示“思想”值的单元格为黄色。

这是否可以使用数据表?

3 个答案:

答案 0 :(得分:1)

添加功能

"fnRender": function(obj) {
                    var sReturn = obj.aData[ obj.iDataColumn ];
                    if ( sReturn == "is wat you needed" ) {
                        sReturn = "add style to your element";
                    }
                    return sReturn;
                }

完成以下链接

中显示的示例

http://datatables.net/examples/data_sources/js_array.html

你可以看到A字母表与其他字母相比是大胆的。希望这可以解决你的问题

答案 1 :(得分:0)

看看at fnRowCallback in the API。对于任何给定的行,这可以在绘制之后立即响应该行,并根据该行的数据根据​​需要调整行。例如,像这样的东西可能会起作用:

'fnRowCallback' : function(row, data) {
    if (data[0] === 'someValue') {
        $('td:eq(0)', row).addClass('someClass');
    }
}

答案 2 :(得分:0)

此解决方案帮助解决我的问题可能对您有帮助。 有关更多信息,请检查此链接:columns.createdCell

使用 createdCell 在columnDefs选项中操作DOM。
例如

"columnDefs": [ 
{
   "targets": [1] // first CELL That will be checked,
   "createdCell": function (td, cellData, rowData, row, col) {
             if (cellData < 1) {
                 $(td).addClass('someClass');
              }
    }
 },{
   "targets": [2] //second CELL That will be checked,
   "createdCell": function (td, cellData, rowData, row, col) {
             if (cellData < 1) {
                 $(td).addClass('someClass');
              }
    }
 }  ],