Programming - cpueblo.com

TListView 수십만개 데이터 Add 하기..


글쓴이 : 유광희 날짜 : 2002-06-04 (화) 11:38 조회 : 5541

뭐..

BeginUpdate 랑 EndUpdate 가 있긴 하나...
이건 하나의 장난에 불과한 것이고..

진정한~~ 수십만개의 데이터를 Add 하기 위해서는 OnData 이벤트를 사용해야 한다.

시작!

1. 프로퍼티의 OwnerData 를 true 로 변경
2. OnData 이벤트 함수 지정
3. 처음 ListView 를 초기화 할때 다음과 같이 현재 리스트의 최대 개수를 설정해 주고 UpdateItems 를 호출하면 OnData 가 호출이 되어진다!

	lvIPList->Items->Count = IPList->Count;
	lvIPList->UpdateItems(0, 99);

4. OnData 에 아래처럼 코딩한다. Item->Index 값에는 인덱스 값이 들어오므로
이 값으로 원하는 행을 결정해 데이타를 ADD 한다..

void __fastcall TfrmeWannyIPCheck::lvIPListData(TObject *Sender,
TListItem *Item)
{
	IPLIST *List = (IPLIST *)IPList->Items[Item->Index];

	Item->Caption = List->IP;
	Item->SubItems->Add (IntToStr(List->Count));
	Item->SubItems->Add (FormatDateTime("yyyy-mm-dd", List->LastUpdate));
};

메~롱