前面的为JqGrid添加dwr支持涉及到了修改jqgrid代码的问题,不方便进行升级。 javascript
现采用另一种方法。缺点是不能触发一些事件,如开始加载 ,加载完成,还有loading标志,对loadonce及其它一些支持不到。主要是dwrcallback方法没法访问到jqgrid内部的一些操做和属性的缘由。应该是能够获取的,只是暂时不知道。呵 java
后台dwr接口方法为:String [] properties, String condition,String sortField, String order, int curPage, int limit app
假调postData参数:[ [ "id", "name" ], "true" ], post
设置datatype参数为: this
function(postData) { JsonUtil.alertJson(postData); var formatedPostData = []; formatedPostData[formatedPostData.length] = postData[0]; formatedPostData[formatedPostData.length] = postData[1]; formatedPostData[formatedPostData.length] = postData.sidx; formatedPostData[formatedPostData.length] = postData.sord; formatedPostData[formatedPostData.length] = postData.page; formatedPostData[formatedPostData.length] = postData.rows; JsonUtil.alertJson(formatedPostData); var dwrargs = formatedPostData; 以上一段语句能够写在serializeGridData:里,postdata,先通过serializeGridData处理,而后转给datatype方法的postData。因此参数处理,能够写在另一个方法当中,
下面就调用UserService.dwrFunForJqGrid.apply()方法来调用javascript方法,注意dwr设置中的回调方法 dwrsettings = { asyn c : true, httpMethod : "POST", timeout : "3000", callback : function(data, st, xhr) { JsonUtil.alertJson(data); jQuery("#gridTable")[0].addJSONData(data); } }; dwrargs[dwrargs.length] = dwrsettings; UserService.dwrFunForJqGrid.apply(this, dwrargs); },