저는 주로 ListView의 ViewStyle을 vsReport 모드로 사용하는데요 이 모드로 사용하실 경우 아래와 같은 과정을 수행해보세요.
[ListView 생성 및 설정]
1. ListView 콤포넌트를 이용해서 새로운 ListView를 만든다.
(편의상 Name 속성은 MyListView로 설정하자)
2. ListView를 오른쪽 버튼으로 클릭하여 Columns Editor를 클릭한다.
3. Add New 버튼을 눌러 원하는 Field들을 생성한다.
(편의상 'A', 'B', 'C' 필드를 만들자)
[아이템 등록]
1. 버튼을 하나 만들고 'OnClick()' 이벤트 핸들러를 만들자.
2. 아래와 같이 코딩하자.
procedure TForm1.Button1Click(Sender: TObject);
var
Counter: Integer;
ListItem: TListItem;
begin
Counter := 0;
While Counter < 3 Do
begin
ListItem := MyListView.Items.Add;
ListItem.Caption := IntToStr(Counter);
ListItem.SubItems.Add('Field B');
ListItem.SubItems.Add('Field C');
Counter := Counter + 1;
end;
end;
3. MyListView에 아래와 같은 내용이 입력될 것이다.
A B C
0 Field A Field B
1 Field A Field B
2 Field A Field B
위의 예제에서 필드값들을 쿼리에서 불러온 값들을 넣어주면 되겠죠.
제가 현재 델파이로 POS 시스템(바코드 시스템)을 만들고 있어서 ListView는 조금 다루어봤거든요.
혹시 다른 질문 있으시면 글 올려주세요.
이동기님께서 추천해 주신 방법은 지금 사용하고 있습니다. 그러나, Listview에 Add하는 자료가 많은 경우(약 1 만건 이상) 너무 시간이 걸린다는 문제점이 있는거 같습니다. 때문에 빠른 시간에 Add 할 수 있는 방법을 찾고 있는데 여기저기 찾아본 결과 Ownerdata 프로퍼티를 이용한 Add 방법이 좋을 것 같아 Ownerdata 프로퍼티를 이용한 방법을 찾고 있습니다.
Ownerdata 프로퍼티에 대해 게시판에 올라온 글들은 예제가 넘 단순하여 작업하는데 좀 예를 먹고 있습니다. 실력이 미천하다보니 단순한 예제가지고는 별 도움이 안되네요...
저는 주로 ListView의 ViewStyle을 vsReport 모드로 사용하는데요 이 모드로 사용하실 경우 아래와 같은 과정을 수행해보세요.
[ListView 생성 및 설정]
1. ListView 콤포넌트를 이용해서 새로운 ListView를 만든다.
(편의상 Name 속성은 MyListView로 설정하자)
2. ListView를 오른쪽 버튼으로 클릭하여 Columns Editor를 클릭한다.
3. Add New 버튼을 눌러 원하는 Field들을 생성한다.
(편의상 'A', 'B', 'C' 필드를 만들자)
[아이템 등록]
1. 버튼을 하나 만들고 'OnClick()' 이벤트 핸들러를 만들자.
2. 아래와 같이 코딩하자.
procedure TForm1.Button1Click(Sender: TObject);
var
Counter: Integer;
ListItem: TListItem;
begin
Counter := 0;
While Counter < 3 Do
begin
ListItem := MyListView.Items.Add;
ListItem.Caption := IntToStr(Counter);
ListItem.SubItems.Add('Field B');
ListItem.SubItems.Add('Field C');
Counter := Counter + 1;
end;
end;
3. MyListView에 아래와 같은 내용이 입력될 것이다.
A B C
0 Field A Field B
1 Field A Field B
2 Field A Field B
위의 예제에서 필드값들을 쿼리에서 불러온 값들을 넣어주면 되겠죠.
제가 현재 델파이로 POS 시스템(바코드 시스템)을 만들고 있어서 ListView는 조금 다루어봤거든요.
혹시 다른 질문 있으시면 글 올려주세요.
좋은 하루 되시길...