我正在使用带有statesave,colvis按钮的数据表来选择列的可见性,并使用rowcallback为我的数据添加一些颜色。
这是我的代码:
activitiesTable = $('#activitiesTable').DataTable({
scrollX: true,
serverSide: true,
processing: true,
stateSave: true,
...
buttons: [
{
extend: "colvis",
className: "btn-sm",
columns: [ 1, 3, 4, 6, 7, 8, 9, 10, 12, 14, 16,18,20,22,24,26,28,30,32 ]
},
...
rowCallback: function(row, data, index){
if(data.jan_com<= 0){
$(row).find('td:eq(4)').addClass('zero');
}
else if(data.jan_otl> 0){
$(row).find('td:eq(4)').addClass('otl');
}
else {
$(row).find('td:eq(4)').addClass('forecast');
}
if(data.feb_com<= 0){
$(row).find('td:eq(5)').addClass('zero');
}
else if(data.feb_otl> 0){
$(row).find('td:eq(5)').addClass('otl');
}
else {
$(row).find('td:eq(5)').addClass('forecast');
}
...
正如您所看到的,我使用类零,预测或otl更改数据的颜色。
问题在于,因为它会更改显示的列,所以下次重新加载时,颜色将应用于错误的列,因为第4列不再是列jan_com。
有没有办法找到对应于jan_com列的td而不是询问td:eq(4)?
感谢。