如何在分页期间显示totalRecords

时间:2014-09-22 18:55:35

标签: pagination jquery-datatables

我使用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个'。知道我在这里缺少什么吗?谢谢,提前!

1 个答案:

答案 0 :(得分:0)

我的理解是iTotalRecordsiTotalDisplayRecords是从服务器返回的值,而不是您在初始化期间设置的值。

您可以添加生成服务器端数据的代码吗?你是如何实际分页源数据的呢?

在你的accounts方法中,你应该返回一个看起来像这样的json对象:

return Json(new
  {
     param.sEcho,
     iTotalRecords = totalRecords,
     iTotalDisplayRecords = totalFilteredRecords,
     aaData = result
}, JsonRequestBehavior.AllowGet);

其中iTotalRecords是未经过滤的记录总数,iTotalDisplayRecords是过滤记录数。 result包含15行数据,因为此时您已使用数据表参数iDisplayStartiDisplayLength执行了分页查询以生成数据。现在,您可以在将此json对象返回到数据表时正确显示该页面的所有信息。