天天看點

jqgrid 動态設定單元格不可編輯

單元格可編輯需要設定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');