4

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

$(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);
                        }

                    },
        ],

    });
});

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

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

也试过:

"mColumns": [ 8 ]

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

谢谢。

4

1 回答 1

15

查找exportOptions.columnsexportOptions让您定义一个列选择器,就像您将特定列作为过滤对象等一样。例如,在 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
}

依此类推,参见上面提到的列选择器页面,

根据评论:除了一个特别的列之外的所有可见列:

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

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

于 2016-04-30T15:34:12.453 回答