在数据表按钮

时间:2016-04-30 09:58:56

标签: php jquery datatables datatable-buttons

我的数据表有以下初始化:

$(document).ready(function() {
    $('.datatable').dataTable({
       dom: 'Bfrtip',
        buttons: [
                    {
                        extend: 'copyHtml5',
                        text: 'Copy Content to Clipboard',
                        className: 'btn',
                    },
                    {
                        extend: 'excelHtml5',
                        text: 'XLS Download',
                        className: 'btn',
                        "mColumns": [ 8 ]
                    },
                    {
                        extend: 'csvHtml5',
                        text: 'CSV Download',
                        className: 'btn',
                        "mRender": function (data, type, row) {
                             console.log(data);
                        }

                    },
        ],

    });
});

我正在使用数据表按钮,因为表工具已从数据表中弃用,并尝试了许多选项:

"mRender": function (data, type, row) {
                                 console.log(data);
                            }

也尝试过:

"mColumns": [ 8 ]

我尝试过以各种方式应用不同的参数,但我的理解中缺少一些东西。求助。

感谢。

1 个答案:

答案 0 :(得分:9)

查找exportOptions.columnsexportOptions让您定义column-selector的方式与定位特定列进行过滤的方式相同,等等。例如,仅包含PDF导出中的第三和第四列:

$('#example').DataTable( {
  dom: 'Bfrtip',
  buttons: [
    {
      extend: 'pdf',
      exportOptions: {
        columns: [ 2, 3 ]
      }
    }
  ]
});

演示 - >的 https://jsfiddle.net/r9Lqbhz4/

其他例子:

exportOptions: {
   columns: ':visible' //visible rows
}
exportOptions: {
   columns: ['.export', '.important'] //by class selector
}

依此类推,请参阅上面提到的column-selector页面

根据评论:所有可见的列除了特别是:

exportOptions: {
   columns: ':visible:not(:eq(2))' 
}

将包括除第2列第3列以外的所有可见列。请注意,eq()列索引基于可见列索引。