当从服务器返回一些错误时,再次重置并将JqGrid Row的数据保留在可编辑模式下

时间:2015-10-23 07:47:04

标签: jqgrid jqgrid-asp.net mvcjqgrid

enter image description here" successfunc" else部分应该将行保留在可编辑模式中......

 var editparameters= {
                    "keys": true,
                    "oneditfunc": function () {
                        debugger;
                        $("select#" + arrprimarykey + "_StateName").val(rowData.StateCode);
                    },
                    "successfunc": function (data) {
                        debugger;
                        var msg = JSON.parse(data.responseText).Message;
                        var msgType = JSON.parse(data.responseText).MsgType;
                        if (msgType == "S") {
                            alert(msg);
                            $(CityMaster.idGrid).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                        } else {
                            alert(msg)
                           HERE RESTORE TO INLINE EDITABLE MODE THE ROW ,AGAIN IF ERROR RETURN FROM SERVER
                        }
                    },

                    "url": CityMaster.EditUrl,
                    "extraparam": {},
                    "aftersavefunc": function (data) {
                        debugger;
                    },
                    "errorfunc": null,
                    "afterrestorefunc": function (data) {
                        debugger;
                        $(CityMaster.idGrid).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
                    },
                    "restoreAfterError": true,
                    "mtype": "POST"
                }
                jQuery(CityMaster.idGrid).jqGrid('editRow', arrprimarykey, editparameters);

" successfunc" else部分应该将行保留在可编辑模式中......

1 个答案:

答案 0 :(得分:0)

在jqGrid中报告错误的标准方法是设置HTTP响应的错误状态代码。如果在使用内联编辑的情况下强制执行errorfunc。如果服务器代码无法设置HTTP响应的错误状态代码,则jqGrid提供替代方案。回调successfunc可用于检查服务器的响应。 successfunc应该通知jqGrid现在响应是否成功。如果响应成功,回调successfunc应返回数组[true],并返回包含两个元素的数组:[false, "error message to display the user"]以防出错。回调successfunc通常会从服务器的响应中获取错误消息。

更新:您应该使用restoreAfterError: false(请参阅当前代码中的"restoreAfterError": true)以防止在开始内联编辑之前恢复行的状态。