2012-10-29 2 views
1

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

답변

0

같은 질문에 여러 번 답변했습니다. 주요한 이해 문제는 초기화 시간에 에 의해 열의 editing: true 속성이 읽혀질 것이라는 점입니다. 따라서 값을 setColProp 방법과 관련하여 예를 들어 과 같이 editRow으로 직접 설정할 수 있습니다. 이런 방식으로 필요한 동적 인 행동을 구현할 수 있습니다.

the answer, this one 또는 this one을 참조하십시오. 마지막 하나는 formatter: "actions"에 따라 인라인 편집을 사용할 수있는 솔루션을 제공합니다.