Bootstrap DataTable从导出中排除某些可见列

时间:2015-12-15 03:32:35

标签: javascript jquery datatables-1.10

我可以使用以下内容将动态选择的可见列导出为pdf。但是我希望能够也排除某些可见列(按钮列)。我该怎么做?

buttons: [{
  extend: 'csv',
  orientation: 'landscape',
  pageSize: 'LEGAL',
  text: 'Export as CSV',
  exportOptions: {
    columns: ':visible'
  }
}, {
  extend: 'pdfHtml5',
  orientation: 'landscape',
  pageSize: 'LEGAL',
  text: 'Export as PDF',
  exportOptions: {
  columns: ':visible'
}, {
  extend: 'colvis',
  text: 'Show/Hide Columns'
}]

1 个答案:

答案 0 :(得分:0)

关键是在导出选项中的columns属性中添加一个方法,该方法过滤列是否可见以及该列不是您不想导出的列的一部分。 idx变量是列索引。

这里的工作示例:https://jsfiddle.net/L06yu0vz/1/

$(document).ready(function() {

  // Do not export these columns
  var hideFromExport = [0,1,2];

  var table = $('#example').DataTable({
    dom: 'Bfrtip',
    buttons: [{
      extend: 'copyHtml5',
      exportOptions: {
        columns: function ( idx, data, node ) {
          var isVisible = table.column( idx ).visible();
          var isNotForExport = $.inArray( idx, hideFromExport ) !== -1;
          return isVisible && !isNotForExport ? true : false; 
        }
      }
    }, 'colvis']
  });
});
相关问题