Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12259] [질문] 스트링그리드에 값을 빠르게 뿌리는 방법에 대해..
가야금 [dbsaver] 1671 읽음    2008-10-28 17:32
보통 제가 사용하는 방법입니다.

grid.colCount := 40;
grid.RowCount := 200000;
while not query.EOF do begin
   for i := 0 to FieldCount-1 do begin
      grid.cells[0,row] := fieldByName('vlfem').asString;
      grid.cells[1,row] := FormatFloat('#,##0.00', fieldByName('vlfem').asFloat);
   end;
   ....
   ....
end;

이런식으로 루프를 여지껏 아무생각없이 그냥 손가는데로 사용을 했는데요..
이게 정작 맞는 코딩인가 싶어서요..
원장같은 경우 자료수가 많다 보니.. 속도가 좀 많이 더디게 나옵니다..

물론 그리드가 여러 종류로 많다보니 각 속성으로 인해 느린경우 있기는 하지만..
기본적으로 제공되는 그리드의 프로퍼티와 조금 다를수는 있지만 기본골격은 위의 코딩처럼 마치 정해진듯
사용을 해오고 있었습니다.

이 방법 말고 좀 더 빠르게 처리할수 있지 않을까요?
가령 어느 쿼리툴을 보게 되면 쿼리 몇십만건 돌려보게 되면 그래도 수 초이내에 쫙 뿌려지곤 하던데.. 스크롤을 제일 아래로 내려보면 쓰레드 로 인해서 인지 하단에는 아직 채워지지 않은 부분은 많지만 그래도 일단 사용자는 결과가 바로 나온것으로 여겨질 많큼 화면에는 일단 보여지니까..

그래서 제가 사용해오던 방법 말고 다른 방법이 있나 궁금해서요..
한수 가르침을 받고 싶습니다..

+ -

관련 글 리스트
12259 [질문] 스트링그리드에 값을 빠르게 뿌리는 방법에 대해.. 가야금 1671 2008/10/28
12267     Re:[질문] 스트링그리드에 값을 빠르게 뿌리는 방법에 대해.. 변영희 1990 2008/11/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.