jgGrid包含工具欄中的內聯添加按鈕和操作列中的保存操作按鈕。 使用遠程json數據。 如果按下保存操作按鈕來終止內聯添加並且服務器返回錯誤,則添加的行將從網格中刪除,並且輸入的行數據將丟失。 我向格式選項 添加了restoreAfterError:false,並添加了如下面代碼所示的內聯添加按鈕,但如果按下「保存操作」按鈕,那些設置將被忽略。如果在按下jqgrid中的保存操作按鈕時返回錯誤,如何保持內聯添加
如何保持行內聯添加模式,以便編輯可以在錯誤後繼續如果保存操作按鈕被按下?
colModel: [ {
name:"_actions",
formatter:"actions",
formatoptions:{
editbutton:true,
keys:true,
// this is ignored if action column save button is pressed:
restoreAfterError:false,
delbutton:true
}
} , ...
],
editurl: '/Grid/Edit',
datatype: "json",
在線添加按鈕使用補充說:
$grid.jqGrid('inlineNav', '#grid_toppager', {
addParams: {
position: "beforeSelected",
rowID: '_empty',
useDefValues: true,
addRowParams: {
keys: true,
// this is ignored if action column save button is pressed:
restoreAfterError: false,
}
},
editParams: {
keys: true,
// this is ignored if action column save button is pressed:
restoreAfterError: false,
},
add: true,
edit: false,
save: true,
cancel: true
});
謝謝。使用答案中的代碼設置restoreAfterError不能解決問題。我在jqGrid源代碼中的2個地方更改了restoreAfterError,這就解決了這個問題。如何使'$ .extend($。jgrid.inlineEdit,{ restoreAfterError:false }); '工作或找到問題的原因?我使用的代碼從git修補inlineEdit – Andrus
@Andrus:我測試了我的[演示項目]的建議(http://www.ok-soft-gmbh.com/jqGrid/jqGridExportToExcel_editerror.zip),它使用了** original jqGrid 4.3.1 **。 jqGrid 4.3.1有一些已知的錯誤,但所描述的功能正常工作。我剛剛在演示中評論了'ModifyGridData'的主要代碼,所以編輯返回總是出錯。如果我在'addParams.addRowParams'和'inlineNav'屬性的editParams'部分使用'restoreAfterError:false',或者如果我使用'$ .extend($。jgrid.inlineEdit,{restoreAfterError:false});'(參見注釋部分在Index.aspx) - 兩個作品。 – Oleg
@安德魯斯:所以你應該在你修改過的jqGrid代碼中有一些問題。 – Oleg