jqGrid双重分页(客户端和服务器端)

时间:2011-02-03 13:53:16

标签: jquery ajax jqgrid

是否有一种简单的方法可以进行双重寻呼(即客户端和服务器端)?

现在我正在使用固定的'rowTotal'(使用rowTotal> rowNum)使用客户端分页(loadonce = true,这非常快btw!)。问题是rowTotal< Total-records-in-DB,所以我只显示数据库中的第一个rowTotal记录,并在客户端进行分页。从DB加载所有记录不是一个选项(这就是你使用分页网格的原因; p)。

另一方面,仅执行服务器端分页会导致性能不佳(这就是使用AJAX组件的原因; p)。所以我认为联合方法将实现两全其美。

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

这有什么意义吗?是否有一种简单的方法可以在不侵入jqGrid代码的情况下实现这一目标?

祝你好运!

1 个答案:

答案 0 :(得分:3)

您不是第一个有要求的人,请参阅this question。你提出的行为有不同的缺点。例如,您将无法使用数据排序。例如,如果用户点击列标题,则仅限本地数据将被排序,这将是错误的。

在我的expirience服务器端,每个AJAX的分页工作非常快。所有这些都取决于服务器端的实现,但是在最佳实现的情况下,服务器端会缓存相应查询的结果,并且将从SQL Server缓存中获取下一个/上一个页面。

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