loadonce:true后,jqGrid只会加载一次数据,并把datatype改为local,以后不再请求后台。
当我们进行增删改查操作时,直接使用trigger("reloadGrid")无效,原因是:datatype改为local了,全部数据都是提取的本地的。
解决方案:
1. setGridParam中加上参数datatype:'json',重新向服务器发送新的请求。
例如:$("#grid").jqGrid().setGridParam({datatype:'json'}).trigger('reloadGrid');
2. 或者在jqGrid version 4.8之后,在trigger中加上参数fromServer:true,
例如:$("#list").trigger("reloadGrid", { fromServer: true, page: 1 });