我正在使用带有导出工具扩展的bootstrap数据表,效果很好。唯一的问题是我在表格的页脚有单独的列过滤器下拉列表,因此底部的列过滤器也包含在导出的PDF / CSV中。
以下是我的数据表的初始化方式:
var table = $('#example').DataTable(
{
"dom": 'T<"clear">lfrtip',
"tableTools": {
"oFeatures": {
"bCsv": false,
"bXls": false,
"bCopy": false,
"bPrint": false
},
"sSwfPath": "/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{'sExtends':'pdf',
"oSelectorOpts": { filter: 'applied', order: 'current' },
}
{'sExtends':'print',
"oSelectorOpts": { filter: 'applied', order: 'current' },
}
]
}
}
);
$("#example tfoot th").each( function ( i ) {
var title = $('#example thead th').eq( $(this).index() ).text();
if(title!=='Date of Upload' && title!=='Action'){
var select = $('<select style="width:100%"><option value="">Select '+title+'</option></select>')
.appendTo( $(this).empty() )
.on( 'change', function () {
var val = $(this).val();
table.column( i )
.search( val ? '^'+$(this).val()+'$' : val, true, false )
.draw();
} );
table.column( i ).data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
}
} );
如果有办法解决此问题,请与我们联系。
答案 0 :(得分:1)
有一个简单的选项,bFooter。 bFooter
定义是否要将页脚包含在导出中。示例:
var table = $('#example').DataTable({
//... other initialisation options
tableTools: {
sSwfPath: "/swf/copy_csv_xls_pdf.swf"",
aButtons: [
{ sExtends :'pdf',
oSelectorOpts: { filter: 'applied', order: 'current' },
bFooter: false //<-- add this to each button declaration
}
//... more buttons
]
}
})
答案 1 :(得分:0)
我没有足够的声誉回复@davidkonrad,但他的解决方案也适用于我。谢谢。
这是我的参考代码,包括ColVis(列隐藏),TableTools(导出到csv,pdf)和ColReorder(表的更改顺序)。一切都很好,除了列重新排序没有反映在导出中,但我相信它是可能的。请注意,代码格式搞砸了我的一些缩进。
$(document).ready(function() {
$('#content').DataTable( {
dom: 'TC<"clear">Rlfrtip',
"oTableTools": {
"sSwfPath": "/configs/DataTables-1.10.5/media/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{'sExtends':'copy',
"oSelectorOpts": { filter: 'applied', order: 'current' },
"mColumns": "visible",
"bFooter": false
},
{'sExtends':'print',
"oSelectorOpts": { filter: 'applied', order: 'current' },
"mColumns": "visible",
"bFooter": false,
},
{'sExtends':'csv',
"oSelectorOpts": { filter: 'applied', order: 'current' },
"mColumns": "visible",
"bFooter": false,
},
{'sExtends':'pdf',
"oSelectorOpts": { filter: 'applied', order: 'current' },
"mColumns": "visible",
"bFooter": false,
}
]
},
initComplete: function () {
var api = this.api();
api.columns().indexes().flatten().each( function ( i ) {
var column = api.column( i );
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.footer()).empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
}
});
} );