我在asp.net MVC 4中使用jquery数据表来绑定数据。
问题是,
搜索或过滤后,新的数据集不会导出到 Excel中。它总是在页面加载时导出数据。
以上问题我只面对IE,但是Chrome工作正常。
代码:
var table = $('#gamtbl').DataTable(
{
sScrollY: 450,
scrollX: true,
scrollCollapse: true,
fixedColumns: {
leftColumns: 2
},
"sDom": '<"H"Tlfr>tip<"F">',
"oTableTools": {
"sSwfPath": "../../Images/copy_csv_xls_pdf.swf",
"aButtons": [{
"sExtends": "collection",
"sButtonText": "Export",
"aButtons": [{
'sExtends': "csv",
"mColumns": [0,1, 2, 3, 4]
},
{
'sExtends': "xls",
"sFileName": "*.xls",
"mColumns": [0, 1, 2, 3, 4]
},
],
}],
}
});
table.columns().eq(0).each(function (colIdx) {
$('input', 'th:nth-child(' + (colIdx + 1) + ')').on('keyup change', function () {
table
.column(colIdx)
.search(this.value)
.draw();
});
});
答案 0 :(得分:1)
查看oSelectorOpts
(旧的“遗留”文档)。您需要指定只想导出已过滤的行:
"aButtons": [
{
sExtends: "csv",
mColumns: [0,1, 2, 3, 4],
oSelectorOpts: { filter: "applied", order: "current" }
},
....
]
但你应该考虑使用Buttons
插件而不是退役的TableTools,现在你正在使用dataTables 1.10.x ......