jqGrid:编辑行时条件编辑列

时间:2012-10-29 15:13:58

标签: javascript jqgrid

我有一个使用jqGrid的表,我需要在编辑行时根据行上的值无法编辑某些列。我知道如何避免根据单元格值编辑行,但在整个行级别,我不知道如何在列级别指定。这是双击我桌子的功能。

ondblClickRow: function(id){

    var code = id.split("-")[0];   
    var status = id.split("-")[1]; 
    if((code == "0" && status == "255") || (code == "1" && status == "0")
            || (code == "1" && status == "1")
            || (code == "2" && status == "255")){
        return;
    }else{
        jQuery('#nameableSignalsListView').jqGrid('editRow',id, { 
            keys : true,
            reloadAfterSubmit:true,
            successfunc: function(response, postdata) {                     
                var result = printErrors(response, false);
                if(result === true) {
                    return true;
                } else {
                    setTimeout(function() {
                    customAlert(result);
                }, 200);    
                    return false;
                }
            },
            restoreAfterError: false,
            url: appRootUrl  + "rest/nameableSignals/update"
        });
    }
}

1 个答案:

答案 0 :(得分:0)

我多次回答同一个问题。主要的理解问题是在初始化时editing: true将读取列的editRow属性。因此,您可以在调用editing 之前直接使用setColProp方法设置editRow属性的值,例如。通过这种方式,您可以实现所需的任何动态行为。

请参阅the answerthis onethis one。最后一个提供了使用formatter: "actions"的内联编辑的解决方案。