我正在表格的页脚显示总计页面,并且表格包含分页。每个页面具有相应页面的总计。在该视图中,它的工作正常,但打印视图不能呈现正确的页面总数,在打印时会显示第一页的总数。我尝试了以下代码来更新表脚。我现在尝试了以下代码来更新数据表视图。页面总数完美地显示了页脚,但在打印视图中,页脚没有更新页面总和。
更新页脚中的页面总数
"footerCallback": function (row, data, start, end, display) {
var api = this.api(),
data;
// Remove the formatting to get integer data for summation
var intVal = function (i) {
return typeof i === 'string' ? i.replace(/[\$,]/g, '') * 1 : typeof i === 'number' ? i : 0;
};
//console.log(colno)
for (i = 0; i < colno.length; i++) {
// Total over all pages
total = api.column(colno[i])
.data()
.reduce(function (a, b) {
return intVal(a) + intVal(b);
});
// Total over this page
pageTotal = api.column(colno[i], {
page: 'current'
})
.data()
.reduce(function (a, b) {
//alert(intVal(a) + intVal(b))
return intVal(a) + intVal(b);
}, 0);
// Update footer
if (isNaN(total) == false & total != null) {
$(api.column(colno[i]).footer(0)).html(
'' + parseFloat(pageTotal).toFixed(2) + ' <br>(' + parseFloat(total).toFixed(2) + ')');
}
}
}
打印按钮代码
buttons: [
{
extend: 'print',
text: '<i class="fa fa-print"></i> <u>P</u>rint',
css:'btn btn-primary button-input',
key: {
key: 'p',
altkey: true
},
message: '',
titleAttr: 'print',
title: '',
header: true,
footer: true,
autoPrint: false,
exportOptions: {
columns: ':visible'
},
customize: function (win) {
$(win.document.body)
.css('font-size', '10pt')
.css('background', '#ffffff')
.prepend(
document.getElementById("hiddenheader").innerHTML
)
.append(
document.getElementById("hiddenfooter").innerHTML
);
$(win.document.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
}
}]