将loadonce设置为true的jqgrid reloadGrid

Sam*_*Sam 18 jquery jqgrid

我在一个页面中使用两个jqgrids.我使用的第二个网格,loadonce: true因为我需要在第二个网格中进行列排序.我需要在服务器回发后重新加载两个网格.(需要在第二个网格中显示更新的值).第一个网格重新加载很好,因为它不会使用该loadonce属性.我的问题是我们可以一起使用loadonce属性reloadGrid吗?(通过loadonce动态设置属性到网格)或者在这种情况下我是否需要进行服务器端排序?请指教.提前致谢.

Ole*_*leg 69

如果使用loadonce:truejqGrid datatype,则在第一次从网格加载数据后将参数更改为"local".所有下一个网格重新加载(排序,分页,过滤)都在本地工作.如果要再次从服务器刷新网格数据,则应将datatype其设置为其原始值('json'或'xml').例如:

$("#list").setGridParam({datatype:'json', page:1}).trigger('reloadGrid');
Run Code Online (Sandbox Code Playgroud)

更新: 免费的jqGrid支持从第一个版本开始的fromServer: true选项reloadGrid(从版本4.8开始).所以可以使用像这样的代码

$("#list").trigger("reloadGrid", { fromServer: true, page: 1 });
Run Code Online (Sandbox Code Playgroud)

做同样的事情.主要优点:这样的代码工作正常的任何初始值datatype("json","jsonp","xml"等等).免费jqGrid 在更改之前保存datatype内部的原始值.dataTypeOrg"local"

免费的jqGrid的一个更有帮助选项参数reloadGridOptionsnavGrid,它允许指定的默认选项reloadGrid.因此可以使用例如

loadonce: true,
navOptions: { reloadGridOptions: { fromServer: true } }
Run Code Online (Sandbox Code Playgroud)

jqGrid的选项,它们navGrid另外设置默认值.结果,单击导航栏的"重新加载"按钮将从服务器重新加载网格而不是本地重新加载.