我有一个问题,我想根据同一行中的单元格值将“not-editable-row”类添加到一行,但它不起作用。为了测试我尝试了“ui-state-error”,这是有效的。 有没有人知道为什么在我添加课程后单元格仍然可以编辑?
colNames:['city','country'],
colModel:[
{name:'city',index:'city', width:80,editable:true},
{name:'country',index:'country', width:80,editable:true},
],
...
loadComplete: function () {
var ids = grid.jqGrid('getDataIDs');
for (var i=0;i<ids.length;i++) {
var id=ids[i];
if (grid.jqGrid('getCell',id,'city') !== 'Berlin') {
$('#' + $.jgrid.jqID(id)).addClass('not-editable-row');
$('#' + $.jgrid.jqID(id)).addClass('ui-state-error');
}
}
},
感谢你的帮助,Felix
答案 0 :(得分:1)
我想您尝试使用cell editing或form editing代替inline editing。添加到行("not-editable-row"
元素)的类<tr>
将仅由内联编辑使用(请参阅the documentation)。其他编辑模式只是忽略了类。
顺便说一下,如果你需要为网格的某些行设置一些类,最好使用rowattr
。有关详细信息,请参阅the answer。
答案 1 :(得分:0)
如jqGrid documentation中所述,loadComplete
“事件在每次服务器请求后立即执行。”因此,您的数据可能尚未完全加载到网格中。尝试使用gridComplete
代替,“在所有数据加载到网格中并且所有其他进程都完成后触发。此外,事件触发独立于数据类型参数并在排序分页等之后。”