服务器每页返回15条记录,总记录超过2000条 . 我想显示前15条记录,然后每次单击“下一步”按钮,显示剩余的所有记录(每页15条记录) . 为此,我们做服务器端分页或客户端???
这是我的表和我在数据表中使用分页的属性:
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
将返回一个对象,其中包含我将填充表格的字段:对象重新调整:(大致)
Object
accountName: "No Company"
address1: "1234 asdf"
address2: ""
billingAcctId: null
billingSystem: null
city: "mountain view"
comments: null
country: "USA"
然后将调用getData()函数以使用以下方法从datatbase重新调整数据:
var tableData = this.accountCollection.getData()
所以基本上tableData将具有在表中显示的必要字段和值 . 现在我可能有超过1000条从服务器返回的记录 . 因此我需要分页 . 小提琴中的那个是我尝试过并且对paginatin没有任何影响.. :(
我认为我有数据表附带的基本分页,但现在我需要有一个服务器端,一次只能显示15条记录,点击'next'和'prev'按钮我应该能够进行ajax调用以获取每页15个剩余记录...
我希望这有助于你更好地理解 . 如果您需要更多详细信息,请与我们联系 .
如何使用数据表实现分页?如果需要更多详情,请告诉我 .
谢谢
2 回答
分页工作总计显示您需要在最小更改后执行的记录 .
“iTotalDisplayRecord”将是总过滤记录
这会查找你的小巷 - > http://datatables.net/examples/data_sources/js_array.html这纯粹是客户端
虽然,据我所知,实现实际分页的唯一方法(让它更快,因为你一次只从数据库中取出15条记录)是通过你的服务器端调整(即http://datatables.net/examples/data_sources/server_side.html)
它看起来并不像你那样做 . 除非... self.accountCollection.getData()是一个ajax回调,但在任何情况下,当你实例化DataTable时,你应该使用“ajax:tableData”而不是“aaData:tableData” .
您可能会混淆数据表返回的JSON,以及用于与数据表交互/初始化的数据表API .
对不起,这有点多大声笑,这有什么意义吗?