如何导出两个DataTable在短短一个PDF文件(How to export two DataTa

2019-09-30 18:10发布

我目前使用的数据表绘制在网页中的表。 我有没有隐藏的,用户可以查看它没有问题的表。 在另一方面,我有必须与在同一时间不是隐藏表导出一个隐藏的表。

我希望能够在没有隐藏表点击“导出PDF”并产生这两个表 ,隐藏和不隐藏表中的PDF文件

可能有人帮助我吗? 我有点困惑如何做到这一点。

Answer 1:

我没有带试过,但你可以尝试简单地触发从第一第二个按钮。

$("#foo .buttons-pdf").on("click", function() {
  $("#bar .buttons-pdf").trigger("click");
});

第二个表将仍然需要在DOM可用。



Answer 2:

如果你有相同的表很容易死人。 只要有三分之一(或第四等)隐藏表只用于出口的目的。 当用户点击您的“PDF”按钮,请按照下列步骤操作:

  1. 预先,设置*_wrapper容器到display: none; 因此,用户不会看到闪烁或垃圾在屏幕上
  2. 使用API​​来从所有表收集数据并将其合并
  3. 初始化隐藏导出表,并使用合并的数据作为data
  4. 触发PDF导出程序
  5. 清理隐藏导出表所以当用户试图导出第二次发生任何冲突

===

$('#example').DataTable({ });
$('#example2').DataTable({ });

$('button').on('click', function() {
  var data = $('#example').DataTable().table().data();
  $.merge( data, $('#example2').DataTable().table().data() );
  $('#export-table').DataTable({
    dom: 'B',
    data: data,
    buttons: [{
      extend: 'pdfHtml5'
    }],
    drawCallback: function() {
      $('#export-table_wrapper .buttons-pdf').click()
       setTimeout(function() {
          $('#export-table').DataTable().destroy(false);
       }, 200)
    }
  })
})  

这是一个明显的桌子,一个隐藏的表和第三表,采取出口照顾演示- > https://jsfiddle.net/u20x4be0/



文章来源: How to export two DataTables in just one PDF file