1

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"
        });
    }
}
4

1 に答える 1

0

同じ質問に何度も答えました。主な理解の問題はediting: true、列のプロパティがeditRow初期化時に読み取られることです。したがって、たとえば、を呼び出す直前にediting、メソッドに関してプロパティの値を設定できます。このようにして、必要な動的な動作を実装できます。setColPropeditRow

答えこれまたはこれを参照してください。最後の1つは、あたりのインライン編集を使用するためのソリューションを提供しますformatter: "actions"

于 2012-10-29T15:32:51.250 に答える