【问题标题】:While using the jQuery library DataTables, is it possible to have lazy pagination for Ajax source?在使用 jQuery 库 DataTables 时,是否可以对 Ajax 源进行延迟分页?
【发布时间】:2012-08-19 17:49:01
【问题描述】:

我正在使用名为 DataTables 的 jQuery 插件,我想显示一个表格,该表格是从 Ajax 源自动填充的,支持分页。问题是,从服务器上,我只得到了所有结果中的 10 个结果(响应还包含结果总数)。因此,分页看起来像:显示 10 个结果中的 1 到 10 个。

我想说:显示 X 个结果中的 1 到 10 个,其中 X 是结果的总数。我不能使用任何服务器端处理。所以我的问题是:

如何配置 DataTables 插件以使用这种类型的分页?

例如:

jQuery(table).dataTable({
  "aoColumnDefs": [...],
  "bProcessing" : true,
  "sAjaxSource" : "...",
  "sAjaxDataProp" : "...",

  "sOffsetParam" : "offset",
  "sNumFoundParam" : "totalResults"
});

再一次,我只能在客户端工作。

我设法找到了部分回复:

如果我将“bServerSide”标志设置为 TRUE,插件将在服务器响应中查找构建分页系统所需的字段。但是,字段名称仍然是硬编码的,所以我仍然需要一种使用自定义字段名称的方法。此外,偏移量是使用“sEcho”参数发送的(指示所需的页数)。

【问题讨论】:

    标签: jquery pagination datatables client-side offset


    【解决方案1】:

    如您所见here,服务器必须返回两个参数

    int - iTotalRecords - 过滤前的总记录(即总数 数据库中的记录数) int - iTotalDisplayRecords - Total 过滤后的记录(即过滤后的记录总数 已应用过滤 - 不仅仅是记录的数量 在此结果集中返回)

    如果服务器不返回这些参数,客户端就无法知道它必须绘制下一个/上一个按钮

    【讨论】:

      猜你喜欢
      • 2011-02-27
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      相关资源
      最近更新 更多