我使用datatables插件进行分页。 我试图让我的服务器端分页工作,但是首先,我面临的问题是无法在显示15个条目中的1到15个条目中显示totalRecords entires'文本。我用它来显示所有记录:
var resultsTable = tableEl.dataTable( {
"aaData": tableData,
"aoColumns": tableColumns,
"aaSorting": [[1,'asc']],
// "bServerSide": true,
"processing": true,
"serverSide": true,
"sAjaxDataProp": "api/1.0/accounts",
"bProcessing": true,
"pagingType": "simple_numbers",
"bLengthChange": false,
"bAutoWidth": false,
"bScrollCollapse": true,
"iTotalRecords": 34,
"iTotalDisplayRecords":15,
"iDisplayLength": 15
} );
但它仍然显示我显示15个条目中的1到15个'而不是显示34个条目中的1到15个'。知道我在这里缺少什么吗?谢谢,提前!
答案 0 :(得分:0)
我的理解是iTotalRecords
和iTotalDisplayRecords
是从服务器返回的值,而不是您在初始化期间设置的值。
您可以添加生成服务器端数据的代码吗?你是如何实际分页源数据的呢?
在你的accounts
方法中,你应该返回一个看起来像这样的json对象:
return Json(new
{
param.sEcho,
iTotalRecords = totalRecords,
iTotalDisplayRecords = totalFilteredRecords,
aaData = result
}, JsonRequestBehavior.AllowGet);
其中iTotalRecords
是未经过滤的记录总数,iTotalDisplayRecords
是过滤记录数。 result
包含15行数据,因为此时您已使用数据表参数iDisplayStart
和iDisplayLength
执行了分页查询以生成数据。现在,您可以在将此json对象返回到数据表时正确显示该页面的所有信息。