如何使JQGrid重新加载进入服务器?
题
我们在网格上使用JQGrid Navigator重新加载按钮 loadonce
设置为true。
当前,重新加载按钮不会返回服务器以获取数据 - 我们如何使重新加载到服务器以获取最新数据?
我相信我们可以使用 beforeRefresh
回调以设置网格 data
到 json
代替 local
但是我不清楚如何什至配置 beforeRefresh
方法 - 我不太了解文档。
解决方案
您不是唯一有问题的人。我回答 同样的问题 前。要重新加载服务器中的网格内容,您应该重置 datatype
参数到原始值“ JSON”或“ XML”,然后刷新网格。例如
jQuery("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
更新: :打电话 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');
}
});
我修改了AM旧问题的例子。 这里 如果您单击“刷新”按钮,则可以看到现场代码的工作方式。
更新2: 免费JQGrid 支持一些新选项。 reloadGrid
事件支持 fromServer: true
可以用来强制从服务器重新加载数据的参数 navGrid
支持 reloadGridOptions
可用于指定选项的选项 reloadGrid
使用单击“刷新”按钮。因此上述代码可能是
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
顺便说一句 navOptions
JQGrid的选项以指定的默认选项 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");
其他提示
我尝试了以下配置,并且可以正常工作。
<script type="text/javascript">
jQuery(function() {
jq("#YOUR-GRID-ID").jqGrid({
...
loadonce: true,
...
});
jQuery("#refresh_YOUR-GRID-ID").click(function(){
jQuery("#YOUR-GRID-ID").setGridParam({datatype: 'json'});
jQuery("#YOUR-GRID-ID").trigger("reloadGrid");
});
});
</script>
不隶属于 StackOverflow