IBSheet7에서 InitCellProperty()를 통해 지원되었던 셀(Cell)의 타입(Type)을 setAttribute를 이용하여, 변경할 수 있습니다.
Type: Int인 만족도 컬럼을 소수점 2째 자리까지 출력하는 Float타입으로 아래와 같이 변경하실 수 있습니다.
//만족도 열(Column)의 타입 변경, 셀(Cell)변경 시에는 null에 해당하는 부분에 변경하려는 행(Row)객체를 적용 sheet.setAttribute(null, "sSatisfaction", "Type", "Float"); //Type 변경 시, Type에 맞추어 Format도 변경해야 합니다. 2자리 수까지 상시 고정으로 출력 sheet.setAttribute(null, "sSatisfaction", "Format", "#,##0.00 \\%");
셀(Cell)의 경우에는 행(row)객체로 접근하여 속성을 변경하실 수도 있습니다.
onDataLoad: function(evtParam) { //모든 행(row) 객체 추출 var rows = sheet.getDataRows(); //for문으로 각 행(row)객체에 접근 for(var r of rows) { //각 행의 sSatisfactionType 열(Column)의 Type을 Float로 변경 r["sSatisfactionType"] = "Float'; //각 행의 sSatisfactionType 열(Column)의 Format을 Float로 변경 r["sSatisfactionFormat"] = "#,##0.00 \\%"; } sheet.rerender(); }
위와 같이 렌더링이 완료되기 전이나 렌더링이 완료된 후(onSearchFinish)이벤트를 통해 셀의 타입을 변경하실 수 있습니다.
마지막엔 반드시 다시 렌더링(rerender)를 하셔야 합니다.
Int와 Float와 같은 같은 숫자형이라고 하여도, 사용되는 Format이 틀리기 때문에 타입(Type) 변경 시에는 Format도 같이 변경하여야 합니다.
※ FormulaRow에서는 타입(Type)변경을 할 수 없기 때문에, 시트 생성 시, 풋(Foot) 영역에 커스텀행을 추가하여 사용하셔야 합니다.
예제)