datatables rowcallback和colvis和statesave

时间:2017-07-08 19:20:33

标签: datatables

我正在使用带有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)?

感谢。

0 个答案:

没有答案