服務器每頁返回15條記錄,總記錄超過2000條。我希望顯示前15條記錄,然後在每次點擊「下一步」按鈕時顯示剩餘的所有記錄,(每頁15個)。 對於這個我們做一個服務器端分頁或客戶端?使用數據表的服務器端分頁
這裏是我的表和屬性的即時通訊中的DataTable使用分頁:
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
將返回我,有場我將填充IA表的對象: 對象重新調整:(大致)
Object
accountName: "No Company"
address1: "1234 asdf"
address2: ""
billingAcctId: null
billingSystem: null
city: "mountain view"
comments: null
country: "USA"
的的getData()函數將被稱爲然後使用到retuen從datatbase數據:
var tableData = this.accountCollection.getData()
所以基本上tableData將有必要的字段和值顯示在表中。現在我可能有超過1000個記錄從服務器返回。因此我需要分頁。 小提琴中的一個是我試過的,對paginatin沒有任何影響.. :(
我想我有基本的數據表分頁,但現在我需要有一個服務器端,以一次只能顯示15條記錄,點擊'next'和'prev'按鈕,我應該可以打ajax來獲取剩餘記錄15頁/頁...
我希望這可以幫助你如果您需要更多詳細信息請告訴我,
我怎樣才能實現使用數據表的分頁 請讓我知道,如果需要更多的細節..
感謝
很好,「self.accountCollection」是從服務器獲取一個用戶列表:類似下面.. this.accountCollection =新ipiadmin.collections。AccountCollection();是否有意義的做客戶端電話..? – user1234 2014-09-19 01:19:05
您可以重寫self.accountCollection以在其提取的JSON中包含分頁詳細信息。基本上,你希望你的JSON看起來像{「sEcho」:15,「iTotalRecords」:2000,「iTotalDisplayRecords」:2000,「aaData」:[你的前15行數據]}然後使用self.accountCollection作爲數據表init中的ajax源代碼。 另外,只是好奇,你的堆棧(客戶端和服務器)是什麼? – 2014-09-19 16:29:59
有什麼方法可以提供一個例子...感謝您的幫助! – user1234 2014-09-19 17:07:04