JqGrid中,设定指定单元格,官网是没有API的,cell的编辑和不可以编辑,是由
not-editable-cell
和edit-cell两个样式进行控制的,我们需要在onCellSelect的方法的时候,进行判断是否是我们自己需要编辑的行和列
下图可以看见,可编辑和不可编辑,是由两个样式进行控制的
核心的代码,这个地方是控制点击的时候,单元格是否可以进行编辑操作
onCellSelect:function(rowid,iCol,cellcontent,event){
//札回数
var strBiddingNo = $("#kaisu").val().substring($("#kaisu").val().length-1) ;
if(strBiddingNo != undefined){
if((iCol-2) != strBiddingNo){
//当是不是自己想要的列,加上not-editable-cell 样式,就不可以编辑了
$("#gridRakuData").jqGrid('setCell', rowid, iCol, '', 'not-editable-cell');
}else{
//当是编辑的列,加上editable-cell 样式,就可以编辑了
$('#gridRakuData #'+rowid+' td[aria-describedby="gridRakuData_kngaku'+strBiddingNo+'"]').removeClass('not-editable-cell');
$("#gridRakuData").jqGrid('setCell', rowid, iCol, '', 'edit-cell');
}
}
}
Demo的代码
$("#gbox_gridRakuData").remove();
$("#wfgm1070RakuData").append("<table id='gridRakuData'></table>");
$('#gridRakuData').jqGrid({
formatter : {
integer : {thousandsSeparator: ",", defaultValue: ""},
},
data: dataList,
datatype:"local",
cellEdit:girdEditDistable, //CELL EDIT ABLE
cellsubmit:'clientArray',
colNames:colNames,
colModel:colModel,
width:gridWidth,
height:gridHeight,
scrollOffset:0,
rowNum:dataList.length,
regional:'ja',
beforeSelectRow: function(rowid, e){
return false;
},
onSelectRow: function(id) {
// var curRowData = $("#gridRakuData").jqGrid('getRowData', id);
//$("#gridRakuData").jqGrid("setSelection", id,false);
},
ondblClickRow: function(id) {
},
onCellSelect:function(rowid,iCol,cellcontent,event){
//札回数
var strBiddingNo = $("#kaisu").val().substring($("#kaisu").val().length-1) ;
if(strBiddingNo != undefined){
if((iCol-2) != strBiddingNo){
$("#gridRakuData").jqGrid('setCell', rowid, iCol, '', 'not-editable-cell');
}else{
$('#gridRakuData #'+rowid+' td[aria-describedby="gridRakuData_kngaku'+strBiddingNo+'"]').removeClass('not-editable-cell');
$("#gridRakuData").jqGrid('setCell', rowid, iCol, '', 'edit-cell');
}
}
},beforeSelectRow(rowid, e){
return false;
}
});