2011-02-03 40 views
1

有没有简单的方法来做双重寻呼(即客户端和服务器端)?jqGrid双重寻呼(客户端和服务器端)

现在我正在使用固定的'rowTotal'(with rowTotal> rowNum)使用客户端分页(loadonce = true,它工作得非常快btw!)。问题是rowTotal < Total-Records-in-DB,所以我只显示数据库中的第一个rowTotal记录,并在客户端通过它进行分页。从数据库加载所有记录不是一个选项(这就是为什么使用分页网格; p)。另一方面,只进行服务器端分页会导致性能较差(这就是为什么您使用AJAX组件; p)。所以我认为一个综合的方法将达到两全其美。

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

这有任何意义吗?有一种简单的方法来做到这一点不侵入的jqGrid的代码?

最好的问候!

回答

3

你不是谁的需求的第一人,看到this question例如,行为,你问有不同的缺点,例如,你将无法使用数据排序,例如,如果用户点击列标题,只有l ocal数据将被排序,这将是错误的。

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

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

+0

+1第二段和第三段。 (@NicoDB - 纯服务器端分页对我来说一直很好。) – JasCav 2011-02-03 14:37:35