Плагин для печати данных, не отображающий соответствующую страницу Всего в режиме печати - PullRequest
0 голосов
/ 29 апреля 2019

Я показываю общее количество страниц в нижнем колонтитуле таблицы, а таблица содержит нумерацию страниц. Каждая страница имеет общую сумму соответствующей страницы. В представлении он работает нормально, но в режиме печати отображается неверный итог страницы, он отображает итоговую сумму первой страницы, когда она выходит на печать. Я пробовал следующий код для обновления нижнего колонтитула таблицы. Я попробовал следующий код прямо сейчас, чтобы обновить представление данных. Общее количество страниц отображает нижний колонтитул, но в режиме печати нижний колонтитул страницы не обновляет сумму страниц.

Обновить общее количество страниц в нижнем колонтитуле

"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>&nbsp; <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');
     }
 }]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...