2016-12-12 2 views
0

Ich verwende DataTables für Show-Informationen in einer Tabelle und ich habe serverseitigen Laden aktiviert (ich brauche das nur für das Laden von Daten und Paginierung) und ich muss nicht suchen oder nach Server-Seite sortieren und ich brauche Standard-Suche und Sortierung (jQuery) für meine Tabelle.Disable serverseitige Verarbeitung für Sortierung

Wie kann ich das tun?

var table2 = $('#datatable-buttons2').DataTable({ 
 
    "serverSide": true, 
 
    "processing": true, 
 
    "asSorting": ['desc', 'asc'], 
 
    "ajax": { 
 
    'type': 'POST', 
 
    'url': 'test.php?nowsearch=1', 
 
    'data': { 
 
     inputaz: $("#inputaz").val(), 
 
     inputta: $("#inputta").val(), 
 
     inputkey: $("#inputkey").val() 
 
    } 
 
    }, 
 
    "columns": [{ 
 
    "data": "group_name" 
 
    }, { 
 
    "data": "sender" 
 
    }, { 
 
    "data": "date" 
 
    }], 
 
});

Antwort

0

Vielleicht können Sie dies tun, in Javascript Customizing abgerufenen Daten, aber dies ist nicht sinnvoll.

Wenn Sie Ihre Artikel in clientside mit serverSide: true sortieren, werden nur die aktuell abgerufenen Daten sortiert, nicht in allen Datensätzen in Ihrer Datenbank (wenn Sie tatsächlich Ergebnisse einschränken, dann verwenden Sie direkt serverSide: false hexe wird alle Datensätze abrufen).

Zum Beispiel, wenn Sie 1000 Datensätze haben, erhalten Sie nur die Daten der ersten 10 von nur dann, nicht alle (10/25/50/100). Wenn Sie lokal nach age sortieren, werden die abgerufenen 10 sortiert. Wenn Sie dann zur nächsten Seite gehen, werden Sie feststellen, dass die zweite Seite nicht von der ersten Seite fortlaufend ist.

Deshalb müssen Sie Ihre Sortierung/Suche in Back-End-Sprache codieren, wenn Sie serverSide: true verwenden: dort werden Sie zuerst sortieren und dann Sie 10 Datensätze sortiert zurück.

Das ist die Idee für diese Option.

Wie auch immer ... Sie können Seitenumbruch für Client-Seite (serverSide: false) auch mit paging option haben. Aber Sie müssen sich über die Leistung bewusst sein.

Kurz gesagt, wenn Sie viele Datensätze behandeln, sollten Sie weiterhin Server-Seite verwenden und die Sortierung/Suche/Paginierung/etc von Ihrem Back-End eine entsprechende Daten zurückgeben. Ist nicht so schwer. Sie können mit parameters sent spielen, um dies zu erreichen.

Verwandte Themen