据我所知,没有一个解决两个问题的“魔法”选项。而解决每个问题的选项似乎排除对方(如果任何人可以反驳这一点,会很好)。但我已经找到了解决方案(以避免冗余代码,我只显示它的拷贝按钮):
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() {
- >取消设置出口的时候是做
oSelectorOpts : { filter: 'applied', order: 'current' }
“确定”过滤器 - 在它们出现的顺序>设置tabletools只出口过滤行用户。
使用mousedown
/mouseup
的原因是以上不能与click
或按钮功能fnComplete
一起使用。
添加此功能所有按钮,如xls
,csv
,pdf
和print
。我认为按钮print
有问题。据我所知,按照按钮说明,它早些时候有“问题”。不知道这个问题最近是否已经解决。