我正在使用celledit。我有一个editype textarea专栏。 我想基于同一行中的另一个单元格值动态地读取textarea。
如何将特定细胞设置为只读?是否有类似“.addClass('not-editable-cell')”的类似内容?
提前感谢您的帮助。
更新: 我刚刚找到了办法。
In the formatcell Event:
if (iRow = 4) {
$(grid).setColProp('note', { editoptions: { readonly:true} });
}
in the restorecell Event:
$(grid).setColProp('note', { editoptions: { readonly:false} });
答案 0 :(得分:0)
在列 stateCode 的textReadyOnly
中调用colModel
函数,以生成列readOnly=true
。根据条件,它生成textarea readOnly = true/false
。
<强>代码:强>
$(document).ready(function(){
//jqGrid
$("#statesList").jqGrid({
url:'<%=request.getContextPath()%>/Admin/getAllStatesList',
datatype: "json",
colNames:['Edit','State Code','State Name','Country Name', 'Country Code','Active'],
colModel:[
{name:'stateId', index:'stateId',search:false, width:30,sortable: false, formatter: editLink},
{name:'stateCode',index:'stateCode', width:100, formatter:textReadOnly},
{name:'stateName',index:'stateName',width:200},
{name:'countryName',index:'country.countryName', width:200},
{name:'countryCode',index:'country.countryCode', width:100},
{name:'isActive',index:'isActive',width:80},
],
rowNum:20,
rowList:[10,20,30,40,50],
rownumbers: true,
pager: '#pagerDiv',
sortname: 'stateCode',
viewrecords: true,
sortorder: "asc",
autowidth:'true',
});
$('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%");
$('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65);
$('#load_statesList').width("130");
$("#statesList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false});
$(".inline").colorbox({inline:true, width:"20%"});
});
function editLink(cellValue, options, rowdata, action) {
return "<a href='<%=request.getContextPath()%>/Admin/addState/"
+ rowdata.stateId + "' class='ui-icon ui-icon-pencil' ></a>";
}
function textReadOnly(cellValue, options, rowdata, action) {
if (rowdata.stateId == 4) {
return "<input value='"+ rowdata.stateId +"' readonly='true'></input>";
} else {
return "<input value='"+ rowdata.stateId +"'></input>";
}
}