我正在使用jQuery Datatables button extension。
"buttons": [
{
extend: 'colvis', //column visibility
className: 'data_export_buttons'
},
{
extend: 'print',
className: 'data_export_buttons',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'excel',
className: 'data_export_buttons',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'csv',
className: 'data_export_buttons',
exportOptions: {
columns: ':visible'
}
},
{
extend: 'pdf',
className: 'data_export_buttons',
exportOptions: {
columns: ':visible'
}
}
]
一切正常,但是,我想将上面的代码用作回调函数。因此,与其在所有表中重复相同的行(我有超过 15 行(,不如像这样调用函数:
var table = $('#table').DataTable({
"paging": true,
"info": false,
"ordering": true,
"columnDefs": [
{ "targets": [0], "orderable": false}
],
export_data() // the call-back function for colvis and export button extensions
});
我试过这个,但没有用。我的表丢失了数据。有没有办法实现这一目标?
是的,你不能在那里做回调,但同样整洁的方法是创建一个变量,比如
myButtons = [
{
extend: 'colvis', //column visibility
className: 'data_export_buttons'
},
// snip
];
然后,当您创建表时:
var table = $('#table').DataTable({
"paging": true,
"info": false,
"ordering": true,
"columnDefs": [
{ "targets": [0], "orderable": false}
],
"buttons": myButtons
});