我在提到类似问题的几个答案之后问这个问题但却无法在我的问题上完成。
我尝试了CSV
&成功的现有代码COPY
按钮,但对于其他按钮,它完全没有出现在我的期望中。让我分享我的代码以供审核。
jQUERY
数据表的初始化
var table = $('#audit').DataTable({
deferRender: true,
responsive: true,
pageLength: 10,
ajax:{type: 'POST',
url: 'audit_log_lib.php',
data: function () { return $('#auditForm').serialize(); }
},
columnDefs: [{ "orderable": true, "targets": 4 }],
order: [[0, 'desc']]
});
按钮的初始化
var date = $.now();
new $.fn.dataTable.Buttons( table, {
buttons: [
{extend:'csv', text: '<?php echo $xml_common->download.' CSV'; ?>', filename:'<?php echo $_SESSION['user_name']; ?>_AuditTrail_'+date},
{extend:'copy', text: '<?php echo $xml_common->download.' COPY'; ?>', filename:'<?php echo $_SESSION['user_name']; ?>_AuditTrail_'+date},
{extend:'excelHtml5', text: '<?php echo $xml_common->download.' Excel'; ?>', filename:'<?php echo $_SESSION['user_name']; ?>_AuditTrail_'+date},
{extend:'pdf', text: '<?php echo $xml_common->download.' PDF'; ?>', filename:'<?php echo $_SESSION['user_name']; ?>_AuditTrail_'+date}
]
} );
table.buttons().container().appendTo('#export');
在我忘记之前,这里是用于初始化按钮
的js插件js / dataTables.buttons.min.js
js / buttons.html5.min.js
正如您在上图中看到的那样,只有csv
和copy
出现在其按钮上,而有些则不是。我还读了一些建议,建议把B&#39; B&#39;在datatables dom
中并声明数据表初始化中的按钮,但是当我尝试这样做时,它将导致页面加载错误。我很想知道到目前为止我是否遗漏了一些东西。感谢任何帮助我摆脱这个错误的方法。
的更新
添加js插件js/jszip.min.js
后,将显示excel按钮,但不会显示pdf。看到这个图像: -
更新工作解决方案
经过多次研究和尝试后,我设法解决了这个问题,如下图所示(删除复制按钮,因为它对我的任务来说不是必需的): -
我得到的解决方案可以参考here。我包含了这些脚本标签
js / pdfmake.min.js
js / vfs_fonts.js
现在它可以作为上图。