Ошибка MVC: идентификатор таблицы = DataTables_Table_0 - Невозможно повторно инициализировать DataTable - PullRequest
0 голосов
/ 10 июня 2019

У меня есть таблица, где у меня есть страница, кнопки для экспорта в Excel, PDF, CSV, и теперь я добавляю опцию фильтра в каждый столбец, но она выдает ошибку.

"Предупреждение DataTables: идентификатор таблицы = DataTables_Table_0 - не может повторно инициализировать Таблица данных. Для получения дополнительной информации об этой ошибке, пожалуйста, см. http://datatables.net/tn/3"

$(document).ready(function () {
        $('.tablesModel').DataTable({
            paging: false,
            ordering: false,
            info: false,
            searching:false,
            responsive: true,
            initComplete: function () {
                this.api().columns().every(function () {
                    var column = this;

                    var select = $('<select><option value=""></option></select>')
                        .appendTo($(column.footer()).empty())
                        .on('change', function () {
                            var val = $.fn.dataTable.util.escapeRegex(
                                $(this).val()
                            );

                            column
                                .search(val ? '^' + val + '$' : '', true, false)
                                .draw();
                        });

                    column.data().unique().sort().each(function (d, j) {
                        select.append('<option value="' + d + '">' + d + '</option>')
                    });
                });
            }
        });

        //Define hidden columns
        var hCols = [];

        var table = $('.tablesModel').DataTable({
            "dom": "<'row'<'col-md-2'B><'col-md-4'f><'col-md-6'p>r>t<'table-scrollable't><'row'<'col-md-4 col-sm-4'i><'col-md-2 col-sm-2'l><'col-md-6 col-sm-6'p>>"
            , lengthChange: true
            , "columnDefs": [{
                "visible": false,
                "targets": hCols
            }]
            , buttons: [
                {
                    //botao excel-https://datatables.net/extensions/buttons/examples/styling/icons.html
                    extend: 'excelHtml5',
                    text: '<i class="fa fa-file-excel-o"></i>',
                    titleAttr: 'Excel'
                },
                {
                    //botao pdf
                    extend: 'pdfHtml5',
                    text: '<i class="fa fa-file-pdf-o"></i>',
                    titleAttr: 'PDF'
                },
            ]
            , "initComplete": function (settings, json) {
                // Adjust hidden columns counter text in button -->
                $('.tablesModel').on('column-visibility.dt', function (e, settings, column, state) {
                    var visCols = $('.tablesModel thead tr:first th').length;
                    //Below: The minus 2 because of the 2 extra buttons Show all and Restore
                    var tblCols = $('.dt-button-collection li[aria-controls=DataTables_Table_0] a').length - 2;
                    $('.buttons-colvis[aria-controls=DataTables_Table_0] span').html('Columns (' + visCols + ' of ' + tblCols + ')');
                    e.stopPropagation();
                });
            }
        });
    });

как я могу решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...