Listveiw에서 Ownerdata 프로퍼티를 True로 해서 대량의 자료를 Listview에 넣는 작업을 하고 있습니다. 그런데 다음과 같은 문제가 생겨서 고수님의 조언을 부탁드립니다.
1. 1번째 래코드가 2 번 Add가 됩니다.
예) 1
    1
    2
    3
    4
    5
    .
    .
    .
2. Listview.FindCaption을 이용해서 중복 Add를 배제하려고 하는데 FindCaption이 전혀 듣지를 않는다는 겁니다.
고수님들의 조언을 간곡히 부탁드립니다.
------------------------ 이하소스 -----------------------------------
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, advlistv, Db, ZQuery, ZMySqlQuery, ZConnect,
  ZMySqlCon, ZTransact, ZMySqlTr, ExtCtrls, ImgList;
type
  TForm1 = class(TForm)
    ListView: TAdvListView;
    Button1: TButton;
    ZMySqlTransact1: TZMySqlTransact;
    ZMySqlDatabase1: TZMySqlDatabase;
    Query: TZMySqlQuery;
    Button2: TButton;
    Panel1: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure ListViewData(Sender: TObject; Item: TListItem);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
  Item: TListItem;
begin
  Query.Open;
  if Query.RecordCount > 0 then Listview.Items.Count := Query.RecordCount+1;
  Caption := IntToStr(Query.RecordCount);;
end;
procedure TForm1.ListViewData(Sender: TObject; Item: TListItem);
var
  fItem: TListItem;
begin
  if Query.Active then
  begin
    fItem := Listview.FindCaption(-1,Query.FieldByName('fdomain').AsString,False,False,False);
    if fItem <> nil then ShowMessage(fItem.Caption) else
    begin
      Query.RecNo := Item.Index;
      Item.Caption := Query.FieldByName('fdomain').AsString;
    end;
  end;
end;
end.
			 
	
	
    
    
	
	
    
    
    
전 이상하게도 RecNo가 안 되서 마지막 자료만 나오는데요...
근디 버그 하나는 찾았어요...
if Query.RecordCount > 0 then Listview.Items.Count := Query.RecordCount+1;
를
if Query.RecordCount > 0 then Listview.Items.Count := Query.RecordCount;
로 고쳐야...
왜 +1이 되었는지 ????