我可以使用以下内容将动态选择的可见列导出为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'
}]
答案 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']
});
});