對於單元格編輯,需要先還原或者保存此單元格,然後再調用getRowData方法,實現如下
1、給grid添加beforeEditCell事件,聲明2個window域的變量記錄單元格的行號和列號 beforeEditCell:function(rowid,cellname,v,iRow,iCol){ lastrow = iRow; lastcell = iCol; } 2、在調用getRowData獲取數據前,先保存/還原單元格 $("#grid").jqGrid("saveCell",lastrow,lastcell);//保存單元格,切換為文本模式 //或者===> //$("#grid").jqGrid("restoreCell",lastrow,lastcell);//還原單元格,切換為文本模式 var recs=$("#grid").jqGrid("getRowData"); 對於行編輯模式,原理壹樣,還原正在編輯的行或者保存數據到內存中 1,調用editRow時傳遞oneditfunc事件處理函數保存正在編輯的行的id $('#list4').jqGrid('editRow', rowid, true, function (rowid) { window.rowid=rowid; }); 2,在調用getRowData獲取數據前,先保存/還原正在編輯的數據行 jQuery("#grid_id").saveRow(rowid, false, 'clientArray'); //==>或者還原 //jQuery("#grid_id").restoreRow(rowid); var recs=$("#grid").jqGrid("getRowData");