2016-11-22 1 views
0

Bin mit Databases-Plugin für Seitenumbruch und Sortierung. Anfangs lädt das Raster beim Laden der Seite alle Datensätze für die Datenbank, dann begrenzt es den Datensatzwert auf 10. So scheint die Seite nicht zu reagieren, in einem Bruchteil von Sekunden lädt sie so viele Daten. Bitte helfen Sie mir bei diesem Problem? Ich möchte die Anzahl der Datensätze beim erstmaligen Laden auf 10 begrenzen. also wird das Raster reagieren. Beispiel meines Code:Anfänglich beim Laden der Seite das Raster holt alle Datensätze für die Datenbank, dann begrenzt es den Rekordwert auf 10

var options = { 
bsort: true, 
"bFilter": false, 
"sPaginationType": "full_numbers", 
aoColumnDefs: [ 
{ 
aTargets: [ 0 ], 
bSortable: false, 
}, 
{ 
aTargets: [ 9 ], 
bSortable: false, 
} 
] 
}; 
$('#Table_ID').DataTable(options); 

Vielen Dank im Voraus

Antwort

0

Sie müssen eine "Ajax" URL für Ihre Web-Service und stellen Sie die "Serverside" Option auf true definieren. Beachten Sie auch, dass bei Verwendung der Ajax-Funktionen von DataTable die Antwortdaten in einem "Daten" -Attribut wie folgt erwartet werden:

Zurückgegebene JSON - Objekt-Array-Notation.

{ "data": [{...}, {...}, {...}]} 

Returned JSON - Array von Array-Notation:

{ "data": [[...], [...], [...]] } 

Mit dem ersten Stil zurück JSON Sie die "Spalten" Option angeben müssen, so dass Sie die es zu Bay Karten Attribut mit dem Namen definieren Setzen des Attributs "data" des in diesem Array enthaltenen Objekts.

Schließlich mit "serverside" auf True festgelegt wird erwartet, dass Sie alle Sortierung, Filterung, usw. auf dem Server durchführen.

EDIT: kann heute nicht tippen. Fehlende Wörter überall.

+0

Danke für die Antwort. Lass mich das versuchen. Gibt es einen anderen Vorschlag, auf Ajax zu verzichten? Nachdem ich den kompletten Code fertiggestellt habe, muss ich alle nacharbeiten. brauchen nur d begrenzen als 10 zunächst –

+1

Es gibt keine bessere Lösung, Server Side-Verarbeitung für den Anwendungsfall zu verwenden, die Sie beschreiben. Ein Beispiel dafür finden Sie hier: https://datatables.net/examples/data_sources/server_side.html – Mike

+0

@KishoreJn In DataTables gibt es eine Option zum Zurücksetzen des Ladevorgangs, wo Sie mit der ersten Seite beginnen können, die mit dem Objekt "view" erstellt wurde (jsp, php, ... usw.), so dass Sie beim ersten Laden der Seite keinen serverseitigen Anruf benötigen. Ich habe es selbst nicht benutzt, kann also nicht zu viel helfen, aber wie ich es verstehe, ist es, dass es eine Last auf Nachfrage bereitstellen kann und dann clientseitige Sortierung und Filterung danach durchführt. Wenn Sie nicht über einen großen Datensatz oder eine rechenintensive Filterung verfügen, wird Ihre Anwendung mit der Sortierung/Filterung auf der Clientseite besser skaliert – Adrian

Verwandte Themen