我有一个数据表,我想在最后一行对基于列的值进行颜色编码。 如果TYPE值为" O"然后应用黄色,否则没有。我的专栏是动态的。
预期结果:
var dt= $(element).dataTable({
deferRender: true,
destroy: true,
"aaData": data, // data is coming from service
"aoColumns": columns // column is dynamic
});
答案 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)
$(element).dataTable({
"rowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
switch(aData[0]){
case 'O':
$(nRow).css('backgroundColor', 'yellow');
//also style other rows here
break;
}
}
});
简单演示:Fiddle