Serwer zwraca 15 rekordów na stronę, a całkowita liczba rekordów przekracza 2000. Chciałbym wyświetlić pierwsze 15 rekordów, a następnie za każdym kliknięciem przycisku "Dalej" wyświetlić pozostałe wszystkie rekordy , (15 na stronę). W tym celu robimy stronę po stronie serwera lub po stronie klienta ???Paginacja po stronie serwera przy użyciu datatables
Oto mój stół i atrybuty im użyciem paginacji w DataTables:
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;
},
returnData
zwróci mi obiektu, który ma pola i będzie zapełnianych tabeli IA: Object retuned: (w przybliżeniu)
Object
accountName: "No Company"
address1: "1234 asdf"
address2: ""
billingAcctId: null
billingSystem: null
city: "mountain view"
comments: null
country: "USA"
getData() funkcja zostanie następnie nazywa się retuen dane z datatbase z:
var tableData = this.accountCollection.getData()
tak w zasadzie tableData będzie mieć niezbędne pola i wartości do wyświetlenia w tabeli. Teraz mogę mieć więcej niż 1000 rekordów zwróconych z serwera. Dlatego potrzebowałem stronicowania. Ten w skrzypcach jest tym, co próbowałem i nie ma żadnego wpływu na paginatynę .. :(
Myślę, że mam podstawową paginację, która pochodzi z datatables, ale teraz muszę mieć stronę serwera, aby dostaję tylko 15 rekordów do wyświetlenia w tym samym czasie, a po kliknięciu przycisku "następny" i "poprzedni" powinienem być w stanie wykonywać wywołania ajax, aby uzyskać pozostałe rekordy 15 na stronę ...
Mam nadzieję, że to pomoże lepiej powiedz, daj mi znać, jeśli potrzebujesz więcej informacji:
Jak mogę uzyskać paginację za pomocą datatables? Proszę dać mi znać, jeśli potrzebujesz więcej informacji ..
Dzięki
dobrze „self.accountCollection” jest pobieranie lista użytkowników z serwera: coś jak poniżej .. this.accountCollection = new ipiadmin.collections.AccountCollection(); czy nadal ma sens wywoływanie po stronie klienta ...? – user1234
można zastąpić self.accountCollection w celu uwzględnienia szczegółów paginacji w JSON, który pobiera. Zasadniczo chcesz, aby twój JSON wyglądał jak {"sEcho": 15, "iTotalRecords": 2000, "iTotalDisplayRecords": 2000, "aaData": [twoje pierwsze 15 wierszy danych]} następnie użyj self.accountCollection jako źródło ajax w swoim datatable init. Co ciekawe, jaki jest twój stack (klient i serwer)? –
jest jakikolwiek sposób dostarczenia przykładu ... Dzięki za pomoc! – user1234