我的代码工作正常但当我尝试在PDF导出的文档上添加消息时显示消息
Uncaught TypeError: Cannot read property 'body' of undefined
at Object.customize (<anonymous>:97:42)
at s.action (buttons.html5.min.js:27)
at q (dataTables.buttons.min.js:13)
at HTMLButtonElement.<anonymous> (dataTables.buttons.min.js:14)
at HTMLButtonElement.dispatch (jquery-3.3.1.min.js:2)
at HTMLButtonElement.y.handle (jquery-3.3.1.min.js:2)
如果我不添加下一行qazxsw poi工作是伟大的,但一旦我添加它显示我的错误。
我的代码......
**message: '__MESSAGE__'**
寻找很多帖子它是添加自定义消息的方式,为什么只是在添加该行后显示该错误,似乎是一个干净的代码。谢谢你的帮助!!!
根据这个<script type="text/javascript">
$('#myTable').DataTable({
dom: 'lBfrtip',
buttons: [
{
extend: 'excel',
filename: 'reporte'
},
{
**message: '__MESSAGE__',**
extend: 'pdfHtml5',
orientation: 'landscape',
pageSize: 'LEGAL',
title: 'Reporte de Documentos Emitidos',
header:true,
exportOptions: {
columns: [ 2, 3, 4, 5, 9, 10, 11, 12, 13, 14, 15 ]
},
customize: function (doc) {
var rowCount = doc.content[1].table.body.length;
for (i = 1; i < rowCount; i++) {
doc.content[1].table.body[i][0].alignment = 'center';
doc.content[1].table.body[i][1].alignment = 'center';
doc.content[1].table.body[i][2].alignment = 'center';
doc.content[1].table.body[i][3].alignment = 'center';
doc.content[1].table.body[i][6].alignment = 'right';
doc.content[1].table.body[i][7].alignment = 'right';
doc.content[1].table.body[i][8].alignment = 'right';
doc.content[1].table.body[i][9].alignment = 'right';
doc.content[1].table.body[i][10].alignment = 'center';
};
doc.content.forEach(function(content) {
if (content.style == 'message') {
content.text = 'this is a late created message'
}
});
}
}
]
});
,你应该使用的关键应该是
reference
要么
messageTop
编辑:这是一个更新的工作JS小提琴messageBottom
您正在查找的内容索引是错误的我将它从https://jsfiddle.net/to068zv7/1/更改为doc.content[1].table.body
doc.content[2].table.body
不包含doc.content[1]
对象,而是包含你的table
对象