Ошибка: предупреждение DataTables: таблица id = example1 - Невозможно повторно инициализировать DataTable - PullRequest
0 голосов
/ 10 января 2020

С вами все в порядке?

У меня проблема, и мне нужна ваша помощь.

Мое приложение отображает следующее сообщение об ошибке: "Предупреждение DataTables: таблица id = example1 - Невозможно повторно инициализировать DataTable. Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/3 ".

В некоторых местах я читал, что важно запускать" Datatables "только один раз, но не смог найти хорошее решение. Я пробовал это разными способами, но в большинстве из них мне не хватает перевода на мой язык (бразильский португальский). Мой код следующий.

Можете ли вы сказать мне, что я делаю не так?

Спасибо всем заранее!

<script>
  $(document).ready(function() {
    $('#example1').DataTable( {
        "oLanguage": {
          "sEmptyTable": "Nenhum registro encontrado",
          "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
          "sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
          "sInfoFiltered": "(Filtrados de _MAX_ registros)",
          "sInfoPostFix": "",
          "sInfoThousands": ".",
          "sLengthMenu": "_MENU_ resultados por página",
          "sLoadingRecords": "Carregando...",
          "sProcessing": "Processando...",
          "sZeroRecords": "Nenhum registro encontrado",
          "sSearch": "Pesquisar",
          "oPaginate": {
              "sNext": "Próximo",
              "sPrevious": "Anterior",
              "sFirst": "Primeiro",
              "sLast": "Último"
          },
          "oAria": {
              "sSortAscending": ": Ordenar colunas de forma ascendente",
              "sSortDescending": ": Ordenar colunas de forma descendente"
          },
          "select": {
              "rows": {
                  "_": "Selecionado %d linhas",
                  "0": "Nenhuma linha selecionada",
                  "1": "Selecionado 1 linha"
              }
          }
        }, 

        dom: 'Bfrtip',
        buttons: [
            'copy', 'csv', 'excel', 'pdf', 'print'
        ],
        language: {
            buttons: {
                copyTitle: 'Copiado para área de transferência',
                copyKeys: 'Pressione <i>ctrl</i> ou <i>\u2318</i> + <i>C</i> para copiar os dados da tabela para a área de transferência. <br> <br> Para cancelar, clique nesta mensagem ou pressione Esc.',
                copySuccess: {
                    _: '%d linhas copiadas',
                    1: '1 linha copiada'
                }
            }
        }

    } );
    // Setup - add a text input to each footer cell
    $('#example1 thead tr').clone(true).appendTo( '#example1 thead' );
    $('#example1 thead tr:eq(1) th').each( function (i) {

        var title = $(this).text();
        $(this).html( '<input type="text" placeholder="Procurar '+title+'" />' );

        $( 'input', this ).on( 'keyup change', function () {
            if ( table.column(i).search() !== this.value ) {
                table
                    .column(i)
                    .search( this.value )
                    .draw();
            }
        } );
    } );

    var table = $('#example1').DataTable( {

        orderCellsTop: true,

    } );
} );
</script>

Ответы [ 2 ]

0 голосов
/ 10 января 2020

Если установка атрибута orderCellsTop в вашем первом вызове на DataTable() не является опцией, то вам, возможно, придется уничтожить существующую таблицу и инициализировать новую.

Сначала проверьте, существует ли таблица с $.fn.dataTable.isDataTable(), и если да, уничтожьте ее с помощью table.destroy();, а затем создайте новую с любыми необходимыми атрибутами.

Все это объяснено на страница , связанная с ошибкой .

0 голосов
/ 10 января 2020

Как вы сказали, вы инициализируете $('#example1').DataTable(..... дважды.

Здесь

  $(document).ready(function() {
    $('#example1').DataTable( {
  .....

и

здесь

var table = $('#example1').DataTable( {

    orderCellsTop: true,

} );

Так что ошибки говорят, что вы не можете этого сделать, вы должны взять orderCellsTop: true, вставленный в первый процесс инициализации.

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