【问题标题】:How to do hybrid client- and server-side pagination with datatables, such that first X rows are client-paginated?如何使用数据表进行混合客户端和服务器端分页,以便前 X 行是客户端分页?
【发布时间】:2015-03-03 19:17:51
【问题描述】:

我想避免执行许多较小的查询,并执行一个从服务器获取 1000 行的查询,并在每页上用 50 对它们进行分页。如何使第 21 页呈现新查询以获取接下来的 20 页?

这也意味着对列进行排序也需要新的服务器端请求。

【问题讨论】:

  • 这听起来是个很棒的功能。我只能提供一种预感,但我认为您会首先更改 iTotalRecords 值以表示数据库中的所有内容。然后创建或使用一个分页插件,它会知道何时返回服务器。我不认为我遇到过可以在客户端和服务器端之间无缝切换的数据表实现。

标签: javascript datatables jquery-datatables datatables-1.10


【解决方案1】:

在服务器端处理模式下使用 jQuery DataTables 时可以缓存一定数量的页面,请参阅Pipelining data to reduce Ajax calls for paging

来自description

这个例子展示了一种通过缓存比每次绘制所需的更多数据来减少对服务器进行的 Ajax 调用次数的技术。这是通过拦截 Ajax 调用并通过数据缓存控件路由它来完成的;如果可用,则使用缓存中的数据,如果不可用,则发出 Ajax 请求。

有配置选项可以让你配置一次可以检索多少页,见pages属性:

// Configuration options
var conf = $.extend( {
    pages: 5,     // number of pages to cache
    url: '',      // script url
    data: null,   // function or object with parameters to send to the server
                  // matching how `ajax.data` works in DataTables
    method: 'GET' // Ajax HTTP method
}, opts );

【讨论】:

    猜你喜欢
    • 2012-03-06
    • 2010-09-29
    • 1970-01-01
    • 2020-04-28
    • 2011-06-20
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多