前提:
今天又網友又提出了一個問題,說行內編輯保存之前,怎么新增一些數據提交到后台?
對方說看了源碼,也沒找到怎么處理,這里就寫文給解答一下。
解答:
於是我看了一眼源碼,只能說你沒找到地方:

第1212行:
dg.PKColumn.Editor.BtnSave.onBeforeExecute(value, index, post_data)
在重寫這個事件里,第三個參數,就是要提交的參數,是個json
因此,要追加數據,只需要為json追加數據就可以了:
dg.PKColumn.Editor.BtnSave.onBeforeExecute=function (v,i,d){
d.XXX="myvalue";//追加數據。
}
如果你要的數據剛好在當前行里:(隱藏顯示【配置了#號傳遞數據】或者非隱藏)
那么可以根據行索引先拿到行數據:
var row = null; if (isTreeTrid) { row = $.extend(true, {}, dg.datagrid("find", index)); } else { //data只存檔1級的數據,不適合treegrid row = $.extend(true, {}, $.data(dg.$target[0], "datagrid").data.rows[index]); }
拿行的時候根據情況選擇其中一種(如果只拿不修改,就不用$.extend克隆了)
下面$.data的寫法,是datagrid下兼容分組的寫法。
