我正在尝试仅从dataTable导出所选行。通过将extend选项设置为csv,我可以成功地将所选行导出到csv文件,如下面的代码所示。
buttons: [
'colvis',
'selectAll',
'selectNone',
{
extend: 'csv',
text: 'Export Selected',
exportOptions: {
columns: ':visible:not(.not-exported)',
modifier: {
selected: true
}
},
title: 'Data export'
}
],
但我希望有一个下拉列表(csv,copy,print),我可以从中选择将选择的行导出到。我尝试使用集合,如下面的代码。但它导出所有可见行。有人请帮忙
buttons: [
'colvis',
'selectAll',
'selectNone',
{
extend: 'collection',
text: 'Export Selected',
buttons: ['copy','csv','print'],
exportOptions: {
columns: ':visible:not(.not-exported)',
modifier: {
selected: true
}
},
title: 'Data export'
}
],
答案 0 :(得分:4)
您定义"仅选择"只需使用rows: '.selected'
即可。但是:即使您使用的是集合,仍需要为每个按钮提供设置。我是
buttons: ['copy','csv','print'],
应该是
buttons: [
{ extend :'copy',
exportOptions : {
columns: ':visible:not(.not-exported)',
rows: '.selected'
}
...
]
您可以通过重复使用简单的文字来减少代码量
var exportOptions = {
columns: ':visible:not(.not-exported)',
rows: '.selected'
}
工作示例代码最终将如下所示:
buttons: [
'colvis',
'selectAll',
'selectNone',
{
extend: 'collection',
text: 'Export Selected',
buttons: [
{ extend : 'copy',
exportOptions: exportOptions
},
{ extend : 'csv',
exportOptions: exportOptions
},
{ extend : 'print',
exportOptions: exportOptions
}
]
}
]
这是一个演示 - >的 https://jsfiddle.net/youn7zm4/ 强>