이웅희 님이 쓰신 글 :
:
:
:
:
:
:
: 제 어플리케이션에서 쓸 DBGrid 를 구현해 보려고 합니다.
:
: 그런데,
:
: TStringGrid 를 쓰니까,
:
: 큰 용량의 DBF 를 로드 할 경우 성능이 아주 많이 떨어집니다.
:
: 아마도 TStringGrid 는 데이터를 갖고 있어서 그런 것이라 판단을 하고
:
: TDrawGrid 에 직접 데이터를 읽어서 뿌려주기로 마음을 먹었습니다.
:
: 그래서 TDrawGrid 의 DrawCell 이벤트에 TTable 의 커서를 옮기고
:
: 데이터를 읽어서 뿌리는 부분을 구현하고,
:
: 다른 부분에서 데이터 갱신될 경우에 DrawGrid->Invalidate(); 해주었더니,
:
: Cell 의 내용이 바뀌는 속도가 눈에 보일정도로 느립니다.
:
: TDBGrid 처럼 가볍고 빠르게 동작하기 위해선 이런 방법이 아닌 다른 방법을 써야하는건가요 ?
:
: DrawCell 이벤트에 현재 화면에 포함되는 Cell 인지 아닌지도 파악을 해서 return 시켜줘야 하는건가요 ?
:
: 고수분들의 조속한 답변 부탁 드립니다.
:
:
자료실에서 빌더 개발자 가이드(한글판)를 다운 받으신 후,
55장, '그리드 사용자 정의'와 56장, '데이터 인식 컨트롤 만들기' 를 읽어 보세요.
|