Der Server gibt 15 Datensätze pro Seite zurück, und die Gesamtzahl der Datensätze liegt über 2000. Ich möchte die ersten 15 Datensätze anzeigen und dann bei jedem Klick auf die Schaltfläche 'Weiter' die verbleibenden Datensätze anzeigen , (15 pro Seite). Dazu tun wir eine Server-Seite Paginierung oder Client-Seite ???Serverseitige Paginierung mit Datatabellen
Hier ist meine Tabelle und die Attribute für die Paginierung in Datentabellen im mit:
var tableData = self.accountCollection.getData();
var tableColumns = this.accountCollection.getColumns();
var totalRecs = this.accountCollection.length;
//create the UI grid containing the list of items
this.resultsTable = tableEl.dataTable({
"bServerSide": true,
"sEcho": 3,
"iTotalRecords": totalRecs,
"iTotalDisplayRecords": 15,
"aaData": tableData,
"aoColumns": tableColumns,
"aaSorting": [[1,'asc']],
});
getData: function() {
var returnData = [];
$.each(this.models, function (idx, accountModel) {
returnData.push(accountModel.attributes);
});
return returnData;
},
Die returnData
kehrt mir ein Objekt ab, Felder hat i ia Tabelle bevölkern werden: Objekt neu abgestimmt: (grob)
Object
accountName: "No Company"
address1: "1234 asdf"
address2: ""
billingAcctId: null
billingSystem: null
city: "mountain view"
comments: null
country: "USA"
die getData() Funktion dann die Daten aus dem datatbase aufgerufen wird, um unter Verwendung von RETUEN:
var tableData = this.accountCollection.getData()
Im Grunde wird tableData die notwendigen Felder und Werte haben, die in der Tabelle angezeigt werden. Jetzt kann ich mehr als 1000 Datensätze vom Server zurückgegeben haben. Daher brauchte ich Seitenumbruch. Das in Geige ist, was ich versucht habe und hat keine Auswirkungen auf die Paginatin .. :(
Ich denke, ich habe die grundlegende Paginierung, die mit den Databases kommt, aber jetzt muss ich eine Server-Seite zu haben Erhalten Sie nur 15 Datensätze auf einmal anzuzeigen, und auf Klick auf "Next" und "Prev" Button sollte ich in der Lage sein, Ajax Anrufe zu machen, um die verbleibenden Datensätze 15 pro Seite zu bekommen ...
Ich hoffe, das hilft Ihnen Verstehen Sie besser.Bitte lassen Sie mich wissen, wenn Sie weitere Einzelheiten benötigen.
Wie kann ich Paginierung mit Datenträgern erreichen? Bitte lassen Sie mich wissen, wenn mehr Details benötigt ..
Dank
gut sein 'self.accountCollection' ist ein Abrufen der Benutzerliste von dem Server: so etwas wie unten .. this.accountCollection = new ipiadmin.collections.AccountCollection(); macht es noch Sinn, einen clientseitigen Anruf zu machen ..? – user1234
können Sie self.accountCollection überschreiben, um Paginierungsdetails in das JSON aufzunehmen, das abgerufen wird. Grundsätzlich sollte Ihr JSON etwa so aussehen wie {"sEcho": 15, "iTotalRecords": 2000, "iTotalDisplayRecords": 2000, "aaData": [Ihre ersten 15 Datenzeilen]} und dann self.accountCollection als verwenden die Ajax-Quelle in Ihrer Datentabelle init. Auch, nur neugierig, was ist Ihr Stack (Client und Server)? –
gibt es irgendeinen Weg, den Sie mit einem Beispiel versehen könnten ... Danke für die Hilfe! – user1234