JqGrid 是个很不错的东西,我已经使用这个东西5年多了,目前还在继续使用, 对于大数据量的查询, JqGrid 有个遗憾 就是, 返回的总记录数和当前页数是一起返回的, 也就是说要把两次查询完成, 才能返回数据显示, 一次分页, 一次Count总记录数, 我就遇到了 在Count的时候很慢的情况.
如果jqGrid 能异步先加载第一页数据, 后续再加载总记录数, 那用户的体验就比较好了.
看了一下,我来分享一下思路
- 在获取记录数的时候, 不获取总记录数,
- 在jqGridAfterLoadComplete 方法, 这里你可以发起第二次获取总记录数的请求
- JqGrid 中有个 beforeRequest 方法,如果你使用了 SearchToolBar的话, 这里你可以将你的查询条件缓存起来, 这样如果在 jqGridAfterLoadComplete 中检查查询条件没变,就可以直接从缓存里面取总记录数. 缓存可以使用浏览器的 SessionStorage
OK, 这样用户体验就整体上升了一个大大的 Level , 哈哈哈