免费的 jqGrid 3.8.0 - 重置页面计数器以进行过滤

Free jqGrid 3.8.0 - Reset the page counter for sake of filtering

我正在对分页机制进行内部操作,所以我使用以下方法获得偏移量:

xhr.getResponseHeader("X-list-paging-offset")

总使用:

xhr.getResponseHeader("X-list-size");

回调中"beforeProcessing".

到目前为止,还不错。我遇到的问题是过滤。当我在第 3 页(示例)过滤结果时,假设过滤器最终只有一页结果,我留在第 3 页是空的....

我的问题是,我如何知道在进行过滤时 "reset" 页面计数器?以便在过滤器启动时寻呼机将始终重置为 1?

谢谢,

总计

这很奇怪,因为在过滤期间 page 参数将被显式设置为 1我想你应该在你没有在这里发布的 beforeProcessing 的代码中搜索问题的根源。 顺便说一句,你可以使用 var p = $(this).jqGrid("getGridParam");var p = this.p; 获取 beforeProcessing 中的 jqGrid 选项。您可以测试 p.searchp.postData 以获取在对服务器的请求中使用的 jqGrid。您可以在 beforeProcessing 回调的逻辑中使用该值。我建议您使用Fiddler或IE/Chrome/Firefox的开发者工具来验证page在搜索或搜索重置期间将设置到服务器的数字是否为1。

只有当我发现问题的原因是reloadGrid的错误选项时,我才会建议你一个替代方案。来自 GitHub 的当前免费 jqGrid 版本(发布 4.8 版本后包含的功能)包含 reloadGridSearchOptionsreloadGridResetOptionsreloadGridOptions 选项。可能是该选项可以为您提供帮助。在 searchGridfilterToolbartriggerToolbar/clearToolbar 中支持选项 reloadGridSearchOptionsreloadGridResetOptions。可以使用网格选项 searching$.jgrid.search 来指定它。

方法 editGridRowdelGridRownavGrid 支持 reloadGridOptions 选项。可以使用 jqGrid 选项 formEditingformDeletingnavOptions 来指定选项 reloadGridOptions$.jgrid.edit$.jgrid.del$.jgrid.nav

此外 jqGrid 现在支持 reloadGridOptions 选项等选项 $.jgrid.defaults.reloadGridOptions 也是。

以上所有选项都允许指定重新加载期间使用的任何 reloadGrid 选项。