單元格可編輯需要設定3個地方
1、tableGrid裡面的參數 cellEdit:true(開啟行編輯功能) false(預設,不可編輯)
2、cellsubmit: 'clientArray' 設定編輯完成後的存儲方式
3、colModel 裡面的參數editable:true(開啟單元格編輯功能)
如何動态設定單元格不可編輯
首先,表格加載完成後使用gridComplete 事件,給需要動态設定的單元格添加一個唯一屬性(這裡我添加的是樣式)
使用 setCell 方法給單元格設定屬性
//初始化資料
function getInitFormatData(){
var ids = jQuery("#tabGrid").jqGrid('getDataIDs');
if (ids.length > 0){
$.each(ids,function(i,v){
$("#tabGrid").jqGrid('setCell', v, 'checkTime', '', 'review-'+v);
//getIsCheckResult(v);
});
} else {
//沒有資料隐藏按鈕
//$("#btnboxId").addClass("step-hide");
}
};
然後根據標明的值,動态設定單元格不可編輯 not-editable-cell 這個屬性就是單元格不可編輯,就算是在單元格設定了editable:true,也是不可編輯的
$("#tabGrid").jqGrid('setCell', rowid, 'checkTime', '', 'not-editable-cell');
怎麼讓單元格再次編輯, 就是要取消剛才給單元格設定的not-editable-cell屬性
使用剛才初始化給單元格添加的樣式,通過jquery 删除屬性,單元格就可以再次編輯了
$(".review-"+rowid).removeClass('not-editable-cell');