【问题标题】:jqGrid dual paging (both client-side and server-side)jqGrid双分页(客户端和服务器端)
【发布时间】:2011-06-20 16:38:09
【问题描述】:

有没有一种简单的方法来进行双分页(即客户端和服务器端)?

现在我正在使用固定的“rowTotal”(rowTotal > rowNum)使用客户端分页(loadonce=true,顺便说一句,它的运行速度非常快!)。问题是 rowTotal

另一方面,只进行服务器端分页会产生较差的性能(这就是您使用 AJAX 组件的原因;p)。所以我认为综合方法将实现两全其美。

理想情况下,这将自动执行。这是:寻呼机应该显示第一个 rowTotal/rowNum 结果作为内存中加载的 N 个页面中的第一个(客户端)。当跳转到第 N+1 页时,它应该命中后端并检索下一个 rowTotal 结果。我现在看到的问题是(我猜)页数是根据结果集的大小除以 rowNum 而不是数据库上的记录来计算的,而且大多数寻呼机属性都是不可变的:(

这有意义吗?有没有一种简单的方法可以在不侵入 jqGrid 代码的情况下实现这一点?

最好的问候!

【问题讨论】:

    标签: jquery ajax jqgrid


    【解决方案1】:

    你不是第一个有要求的人,比如this question。你问的行为有不同的缺点。例如,您将无法使用数据排序。例如,如果用户点击列标题,只有本地数据会被排序,这是错误的。

    在我的经验中,每个 AJAX 的服务器端分页工作得非常快。一切都取决于服务器端的实现,但在优化实现的情况下,服务器端会缓存相应查询的结果,并且将从 SQL Server 缓存中获取下一页/上一页。

    我建议您使用纯服务器端分页,并在需要时进行一些性能调整。

    【讨论】:

    • 第二和第三段+1。 (@NicoDB - 纯服务器端分页对我来说也一直很有效。)
    • 感谢您的及时回复。关于排序,这正是我想要的:在视图中(基于每页)排序。我正在使用外部字段来预过滤服务器端结果集并将数据推送到网格,因为它们非常庞大且非常复杂(涉及许多连接,而不是高性能)!我想要完成的事情可以通过 onPaging 事件轻松完成,唯一的问题是寻呼机信息不准确并且是只读的:(
    • @NicoDB - 你搞定了吗?我有与您相同的要求并面临相同的问题,即“寻呼机信息不准确且为只读”。
    猜你喜欢
    • 2011-06-16
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多