Bootstrap DataTable 从导出中排除某些可见列
Bootstrap DataTable exclude certain visible columns from export
我可以使用以下内容将动态选择的可见列导出为 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'
}]
关键是向导出选项中的列 属性 添加一个方法,过滤列是否可见以及列是否不属于您不想导出的列。 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']
});
});
我可以使用以下内容将动态选择的可见列导出为 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'
}]
关键是向导出选项中的列 属性 添加一个方法,过滤列是否可见以及列是否不属于您不想导出的列。 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']
});
});