据我所知,没有一个“神奇”的选项可以解决这两个问题。解决每个问题的选项似乎相互排斥(如果有人能反驳这一点,那就太好了)。但我找到了一个解决方案(为了避免冗余代码,我只为复制按钮显示它):
var table = $("#example").DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
sSwfPath: "http://cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls.swf",
aButtons: [
{
sExtends : "copy",
mColumns : [0, 1, 2],
fnInit : function( nButton, oConfig ) {
$(nButton).on('mousedown', function() {
table.column(3).search('ok').draw();
});
$(nButton).on('mouseup', function() {
table.column(3).search('').draw();
});
},
oSelectorOpts : { filter: 'applied', order: 'current' },
}
]}
});
说明:
mColumns : [0, 1, 2]-> 仅导出id,data和date列
fnInit-> 能够在按钮初始化时对其进行操作
$(nButton).on('mousedown', function() {-> 过滤状态为“ok”的行
$(nButton).on('mouseup', function() {-> 导出完成后取消设置“ok”过滤器
oSelectorOpts : { filter: 'applied', order: 'current' }-> 将 tabletools 设置为仅按照用户显示的顺序导出过滤的行。
mousedown使用/的原因mouseup是上面的click或按钮功能不起作用fnComplete。
将此功能添加到所有按钮,例如xls、csv和。我认为按钮有问题。据我所知,它早先按照按钮说明出现了“问题”。不知道最近有没有修复。pdfprintprint