【问题标题】:how to get the totalRecords to display during the pagination如何在分页期间显示总记录
【发布时间】:2014-09-23 17:07:39
【问题描述】:

我正在使用数据表插件进行分页。 我正在尝试让我的服务器端分页工作,但是首先,我面临着无法在“显示 15 个条目中的 1 到 15 个”文本中显示 totalRecords 整体的问题。我用它来显示所有记录:

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

【问题讨论】:

    标签: pagination jquery-datatables


    【解决方案1】:

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

    能否添加生成服务器端数据的代码?您实际上是如何分页该源数据的?

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 2022-07-27
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多