我们在loadonce
设置为true的网格上使用jqGrid导航器重新加载按钮。如何让jqGrid重新加载到服务器?
重新加载按钮目前不会返回到服务器以获取数据 - 我们如何获得重新加载到服务器以获取最新数据?
我相信我们可以使用beforeRefresh
回调到电网data
设置为json
,而不是local
但我不清楚如何,即使配置beforeRefresh
方法 - 我真的不明白的文档。
我们在loadonce
设置为true的网格上使用jqGrid导航器重新加载按钮。如何让jqGrid重新加载到服务器?
重新加载按钮目前不会返回到服务器以获取数据 - 我们如何获得重新加载到服务器以获取最新数据?
我相信我们可以使用beforeRefresh
回调到电网data
设置为json
,而不是local
但我不清楚如何,即使配置beforeRefresh
方法 - 我真的不明白的文档。
你不是唯一有问题的人。我之前回答了the same question。要从服务器重新加载网格内容,您应该将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');
}
});
我修改上午老问题的例子。 Here如果你点击刷新按钮,你可以看到代码是如何工作的。
更新2:Free jqGrid支持一些新的选项。 reloadGrid
事件支持fromServer: true
参数可用于强制从服务器重新加载数据,并且navGrid
支持reloadGridOptions
选项,该选项可用于指定在点击刷新按钮时使用的选项reloadGrid
。所以上面的代码可能是
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
通过一个可以使用的jqGrid的navOptions
选项来指定的navGrid
默认选项(参见维基文章)的方式。它允许编写的代码有点像
$("#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>
谢谢 - 点击重新加载按钮时如何运行此代码?如果这是你所指的,我不清楚如何配置导航栏来执行'beforeRefresh'方法。 – 2010-09-22 19:08:39
@马库斯:如果很简单。我在我的答案中包含了相应的代码。 – Oleg 2010-09-22 21:03:48
@ Oleg,我试过这样做,但一旦我点击刷新按钮,分页不起作用。 – 2012-07-09 18:02:47