Mar*_*eon 11 jquery jqgrid navigator
我们在网格上使用loadonce设置为true 的jqGrid导航器重新加载按钮.
重新加载按钮当前不会返回到服务器以获取数据 - 我们如何才能将重新加载到服务器以获取最新数据?
我相信我们可以利用beforeRefresh回调设置网格data来json代替local,但我不清楚如何,即使配置beforeRefresh方法-我真的不明白的文档.
Ole*_*leg 22
你不是唯一有问题的人.我之前回答过同样的问题.要从服务器重新加载网格内容,您应该将datatype参数重置为原始值"json"或"xml",然后刷新网格.例如
jQuery("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
Run Code Online (Sandbox Code Playgroud)
更新:要调用beforeRefresh事件处理程序中的行,您可以执行以下操作
jQuery("#list").jqGrid('navGrid','#pager',
{ edit:false,view:false,add:false,del:false,search:false,
beforeRefresh: function(){
alert('In beforeRefresh');
grid.jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
}
});
Run Code Online (Sandbox Code Playgroud)
我从旧问题修改了一个例子.在这里,如果单击刷新按钮,您可以看到代码如何工作.
更新2:免费jqGrid支持一些新选项.reloadGridevent支持fromServer: true可用于强制从服务器重新加载数据的参数,并navGrid支持reloadGridOptions可用于指定reloadGrid单击Refresh按钮时使用的选项的选项.所以上面的代码可以
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
Run Code Online (Sandbox Code Playgroud)
顺便说一下,可以使用navOptionsjqGrid的选项来指定默认选项navGrid(参见wiki文章).它允许编写类似的代码
$("#link").jqGrid({
// all typical jqGrid parameters
datatype: "json", // or "xml"
loadonce: true,
pager: true, // no empty div for page is required
navOptions: {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
}
}).jqGrid("navGrid");
Run Code Online (Sandbox Code Playgroud)