IBSheet7/성능개선(4)
-
트리 기능(TreeCol) 사용시 조회 성능 개선
IBSheet에서 트리형태를 구현하기 위해 TreeCol 속성을 사용할 경우 조회 건수에 따라 페이지 로딩속도가 느려질 수 있습니다. IBSheet는 일반 조회시 Lazyload기법을 통해 데이터를 렌더링하는데 트리기능을 사용할 경우 트리로 표현되는 전체 행들에 대해서 렌더링하기 떄문에 성능저하가 발생하게 됩니다. 만약 트리로 표현되는 아이템이 많을 경우 ChildPage 속성으로 트리에서도 Lazyload형태로 렌더링 해볼 수 있습니다. 시트 생성시 Cfg쪽에 아래와 같이 설정하면 조회 속도를 향상시킬 수 있습니다. 감사합니다.
2021.12.06 -
한 화면에 다수의 시트 생성시 성능 향상 방법
한개의 IBSheet가 화면에 생성될때 보통 0.15~0.2 초 정도의 시간이 소요됩니다. 그런데 객체의 생성이 순차적으로(동기형태)로 이루어지다보니 화면에 10개의 시트를 만든다고 하면 화면 오픈 과정에서 1.5~2초 정도의 시간이 소요될 수 있습니다. 이러한 과정을 순차적이지 않게, 비동기적으로 생성하는 방법이 있습니다. 바로 IBQueue를 이용하여 생성 로직을 모두 큐에 넣고, 한번에 생성하는 방법입니다. 코드는 아래와 같습니다. var initSheet1 = {}; initSheet1.Cfg = { SearchMode:2, MergeSheet:0, Page:20, FrozenCol:1, DataRowMerge:1 }; initSheet1.Cols = [ {Header:"NO","Type":"Se..
2021.11.09 -
데이터 조회시 속도가 느린 경우 체크
IBSheet를 사용하다보면 빈번하게 조회 시 서버에서 가져온 데이터를 수정해서 화면에 표현해야 하거나, 특정 필드의 값에 따라 해당 행의 배경색을 변경하거나 편집여부를 변경해야 하는 경우가 있습니다. 이럴때 흔히 OnSearchEnd 이벤트에서 전체 데이터를 loop돌면서 CellValue,RowBackColor, RowEditable 등의 함수를 통해 값을 수정하곤 하는데, 이는 성능에서 좋지 않은 결과를 가져옵니다. (OnRowSearchEnd 이벤트는 OnSearchEnd보다 성능이 좋지 않습니다.) 아래는 일반적으로 많이 사용되는 OnSearchEnd 이벤트에서 특정 값을 변경하는 로직 예시 입니다. function mySheet_OnSearchEnd(code,msg){ var sr = mySh..
2021.11.09 -
성능저하요인 : 루프 돌리면서 값 설정건
아래와 같이 루프를 돌면서 특정 조건에 해당하는 값(체크박스 타입) 설정하는 코드는 반복되는 횟수만큼 Dom객체 접근 및 체크박스 css변경이 일어남으로 엄청난 성능저하를 불러일으킨다. // asis for(var i=ibsStdOlgDtl.GetDataFirstRow(); i
2021.11.01