조회 된 데이터에서 특정 조건에 따른 개별 셀(Cell) 속성을 제어하거나, 어떤 조건에서 셀(Cell)별 속성을 제어하려는 경우 아래와 같이 사용하실 수 있습니다.


1. attribute + Formula 를 통한 설정


특정 행(Row), 열(Column), 셀(Cell)의 조건에 따라 CanEdit 속성을 제어하는 CanEditFormula를 설정할 수 있습니다.



열(Column) 별로 속성 제어를 하는 자세한 예제는 아래 문서를 참고하시기 바랍니다.


참고 : 열의 속성값을 변경하는 Formula 사용하기 : IBSHEET8



2.  조회 데이터에서 개별 셀(Cell) 속성으로 제어 방법

   onBeforeDataLoad:function(evt) {  
      for(var i=0;i<evt.data.length;i++){
          //SM_PO열의 값이 "02" 인 코드는 편집 불가 설정
          if(evt.data[i]["SM_PO"]=="02"){
               // 조회 데이터에 "열이름 + 속성" 형식으로 값 추가
               evt.data[i]["SM_POCanEdit"] = 0;
            }
        } 
    },

3. setAttribute를 통한 설정


setAttribute 메서드를 통해 특정 행(Row), 열(Column), 셀(Cell)에 원하는 속성을 설정할 수 있습니다.

특히 setAttribute 메서드의  row나 col 인자를 null 로 설정하면 열(Column) 이나 행(Row)  전체에 속성이 설정됩니다.


//특정 열에 편집불가 처리
sheet.setAttribute(null, "ColName", "CanEdit", 0);
//선택행에 편집 불가 처리
sheet.setAttribute(sheet.getFocusedRow(), "null", "CanEdit", 0);
//특정 셀에 편집을 불가능하게 변경
sheet.setAttribute(sheet.getFocusedRow(), sheet.getFocusedCol(), "CanEdit", 0 );


만약, 다수의 셀(Cell)에 속성 값을 적용하려는 경우, setAttribute 의 render 인자를 0 으로 설정하고, 마지막에 render 관련 메서드(renderBody, rerender)를 호출하는 것이 좋습니다.