当服务器出现某些错误 return 时,再次重置并在可编辑模式下保留 JqGrid 行的数据

Reset again and persist the data of JqGrid Row in Editable mode when some error return from Server

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 部分应在可编辑模式下保留行 ...

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

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