您不是唯一有问题的人。我回答了同样的问题前。要从服务器重新加载网格内容,您应该重置datatype
参数原始值“json”或“xml”,然后刷新网格。例如
jQuery("#list").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
UPDATED: 呼叫里面的线路刷新前您可以执行以下操作的事件处理程序
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: 免费 jqGrid支持一些新选项。reloadGrid
活动支持fromServer: true
可用于强制从服务器重新加载数据的参数以及navGrid
支持reloadGridOptions
option 可用于指定的选项reloadGrid
用于单击“刷新”按钮。所以上面的代码可以是
$("#list").jqGrid("navGrid", {
edit: false,
add: false,
del: false,
search: false,
reloadGridOptions: { fromServer: true }
});
顺便说一下,可以使用navOptions
jqGrid 的选项指定默认选项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");