我在数据表中使用了新功能:“ HTML5导出按钮”。我正在使用Ajax加载数据。
https://datatables.net/extensions/buttons/examples/html5/simple.html
问题在于它仅导出当前显示的页面。
我这样出口:
buttons: [ { extend: 'pdfHtml5', text: 'PDF', exportOptions: { "columns": ':visible', } }, ]
如何导出所有行?
根据DataTables文档,使用服务器端时无法导出所有行:
关于服务器端处理的特别说明:在服务器端处理模式(serverSide)中使用DataTables时,selector- modifier由于所有处理(排序,搜索等)均在服务器上执行,因此对所选行的影响很小。因此,客户端上唯一存在的行是任何时候表中显示的行,选择器只能选择当前页面上的行。
serverSide
selector- modifier
我通过在长度菜单中添加“ ALL”参数来解决此问题,并训练最终用户在执行PDF(或XLS)导出之前显示所有记录:
var table = $('#example').DataTable({ serverSide: true, ajax: "/your_ajax_url/", lengthMenu: [[25, 100, -1], [25, 100, "All"]], pageLength: 25, buttons: [ { extend: 'excel', text: '<span class="fa fa-file-excel-o"></span> Excel Export', exportOptions: { modifier: { search: 'applied', order: 'applied' } } } ], // other options });