jqGrid 中 分页属性:loadonce 为true 时trigger("reloadGrid") 无效

当loadonce属性为true时,jqGrid只会加载一次数据,并把datatype改为local,以后不再请求后台。所以 怎么点断点都是进不去,

当我们进行增删改查操作时,直接使用trigger("reloadGrid")无效,原因是:datatype改为local了,这样就无法完成于Server的交互通信进行数据搜索和刷新操作,因为全部数据都是提取的本地的。

解决办法:

1、在刷新的时候重新将datatype重新定位到json,也就是指向服务器后,jqGrid就会像服务器发起请求。

例如:

        $("#grid-table").jqGrid("setGridParam",{page:1});
        $("#grid-table").jqGrid('setGridParam',{
            postData:{hotelName:hotelName,roomNO:roomNO}
        }).setGridParam({datatype:'json'}).trigger('reloadGrid');

在$("#grid-table").jqGrid()后面添加.setGridParam({datatype:'json'})

2、或者在jqGrid version 4.8之后,在trigger中加上参数fromServer:true,

例如:

$("#grid-table").trigger("reloadGrid", { fromServer: true, page: 1 });

此文转载于:https://blog.csdn.net/zsq520520/article/details/53401328

本人解决方法用于一,

你可能感兴趣的:(jqGrid)