Datatables - Udržet pouze vybrané číslo stránky(ne pořadí, nebo vyhledávání nebo filtr) po zpětné volání a jasné na refresh

0

Otázka

Mám tabulku s údaji, které bych měl něco změnit, například, chci změnit název, obsah, ale tento obsah je na 6. straně stolu. Když jsem se to změnit, data, tabulka se obnovuje na 1. stránce. To, co se snažím udělat, je, aby vybrané číslo stránky a zavolat zpět po obnovení. Snažil jsem se všechny řešení, ale já jen chci uložit stránku číslo, nic jiného. Je to možné?

<script type="text/javascript">
        $(function () {
        var dataTableoOBJ = $("#forumList").dataTable({
        "lengthChange": true,
        "processing": true,
        "serverSide": true,
        "ajax": "/admin/forums/data",
        "createdRow": function (row, data, rowIndex) {
         $.each($('td', row), function (colIndex) {
         $(this).attr('data-id', data.id);
         });
        },
        'columns': [{...}]
        });
        });
</script>

Také jsem se snažil

"saveState": true a pro zúčtování státu na refresh/reload

if (performance.navigation.type == 1){
   var table = $('#forumList').DataTable();
   table.state.clear();
   table.ajax.reload();
} 

ale to je jen odstranění čísel stránek je nějaký způsob, jak vymazat třídění/řazení/hledání/filtrování?

datatables javascript jquery savestate
2021-11-24 05:28:08
1

Nejlepší odpověď

0

Mám 2 řešení pro tento problém.

Řešení 1:

Přidejte tato pole do tabulky dat

 "stateSave": true,
 stateLoadParams: function( settings, data ) {
      var a = data.order;
      if(data.search.search !== '' || a[0][0] !== 0 || data.length !== 10) {
           delete data.order;
           delete data.search;
           delete data.length;
           delete data.start;
           window.location.reload();
       }
       if (data.start === 0) {
           delete data.order;
           delete data.search;
           delete data.length;
           delete data.start;
       }
  }

A nutná opatření pro osvěžující stránku

if (performance.navigation.type == 1){
     var table = $('#forumList').DataTable();
     table.state.clear();
     table.ajax.reload();
}

Řešení 2:

Přidat "stateSave": true pole tabulka dat

A nutná opatření pro osvěžující stránku

if (performance.navigation.type == 1){
  var table = $('#forumList').DataTable();
  table.state.clear();
  table.search("").draw(); 
  table.column( '0:visible' ).order( 'asc' ).draw();
  table.page.len(10).draw();
}
2021-11-24 09:20:08

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................