Il server restituisce 15 record per pagina e i record totali sono oltre 2000. Vorrei visualizzare i primi 15 record e quindi ad ogni clic del pulsante "Avanti", visualizzare i restanti tutti i record (15 per pagina). Per questo facciamo una paginazione lato server o lato client ???Impaginazione lato server utilizzando i datatables
Ecco il mio tavolo e gli attributi im utilizzando per impaginazione in 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;
},
Il returnData
mi restituirà un oggetto che ha campi sarò popolano tabella IA: oggetto riaccordata: (approssimativamente)
Object
accountName: "No Company"
address1: "1234 asdf"
address2: ""
billingAcctId: null
billingSystem: null
city: "mountain view"
comments: null
country: "USA"
il getData() funzione sarà poi chiamato a RETUEN i dati dal datatbase utilizzando:
var tableData = this.accountCollection.getData()
quindi in pratica tableData avrà i campi e i valori necessari da visualizzare nella tabella. Ora potrei avere più di 1000 record restituiti dal server. Quindi avevo bisogno di impaginazione. Quello in fiddle è quello che ho provato e non ha alcun impatto sul paginatin .. :(
Penso di avere l'impaginazione di base che viene fornito con i datatables, ma ora ho bisogno di avere un lato server, per ottenere solo 15 record da visualizzare alla volta e al clic del pulsante "next" e "prev" dovrei poter effettuare chiamate ajax per ottenere i record rimanenti 15 per pagina ...
Spero che questo ti aiuti per favore, fatemi sapere se avete bisogno di ulteriori dettagli
Come posso ottenere l'impaginazione utilizzando i datatables? Per favore fatemi sapere se necessario maggiori dettagli ..
Grazie
bene, 'self.accountCollection' è un recupero la lista degli utenti dal server: qualcosa di simile sotto .. this.accountCollection = new ipiadmin.collections.AccountCollection(); ha ancora senso effettuare una chiamata lato client? – user1234
è possibile sovrascrivere self.accountCollection per includere i dettagli di impaginazione nel JSON che recupera. Fondamentalmente, vorresti che il tuo JSON assomigli a {"sEcho": 15, "iTotalRecords": 2000, "iTotalDisplayRecords": 2000, "aaData": [le tue prime 15 righe di dati]} quindi usa self.accountCollection as l'origine Ajax nel tuo init datatable. Inoltre, solo curioso, qual è il tuo stack (client e server)? –
c'è un modo per fornire un esempio ... Grazie per l'aiuto! – user1234