Jqgrid将行添加到'not-editable-row'行不起作用

时间:2014-01-27 16:43:51

标签: jqgrid

我有一个问题,我想根据同一行中的单元格值将“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

2 个答案:

答案 0 :(得分:1)

我想您尝试使用cell editingform editing代替inline editing。添加到行("not-editable-row"元素)的类<tr>将仅由内联编辑使用​​(请参阅the documentation)。其他编辑模式只是忽略了类。

顺便说一下,如果你需要为网格的某些行设置一些类,最好使用rowattr。有关详细信息,请参阅the answer

答案 1 :(得分:0)

jqGrid documentation中所述,loadComplete“事件在每次服务器请求后立即执行。”因此,您的数据可能尚未完全加载到网格中。尝试使用gridComplete代替,“在所有数据加载到网格中并且所有其他进程都完成后触发。此外,事件触发独立于数据类型参数并在排序分页等之后。”