線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1275
推到 Plurk!
推到 Facebook!

兩個listview間的資料傳遞問題

答題得分者是:pgdennis
challenge
一般會員


發表:14
回覆:41
積分:11
註冊:2002-10-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-12 18:31:18 IP:210.68.xxx.xxx 未訂閱
請問各位前輩… 目前我使用到兩到元件…Listview1及Listveiw2 Listview1的資料會從檔案讀進來 而Listview2只需要Listview1的一些資料 並將Listview1重覆的資料捨去再顯示到Listveiw2 可是執行之後…重覆的資料並不會捨去…不知問題何在? 以下是我的程式,謝謝! procedure TForm1.BitBtn1Click(Sender: TObject); var a: TListItem; i,j: integer; begin a := listview1.Items.Add(); try for i := 0 to ListView1.items.Count - 2 do begin a.Caption := ListView1.Items.Item[i].Caption; for j := 0 to 48 do a.SUBITEMS.ADD( ListView1.Items.Item[i].SUBITEMS.STRINGs[j]); //判斷是否有資料存在 if ListView2.Items.IndexOf(a) = -1 then begin ListView2.Items.Insert(ListView2.Items.Count); ListView2.Items.Item[ListView2.Items.Count-1] := a; end; a.SubItems.Clear; end;//for finally a.Free; end; end;
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-14 10:50:15 IP:218.163.xxx.xxx 未訂閱
我寫了一段code..不知有沒有誤會你的意思,我的做法是先把資料讀到listview2中,再判斷是否存在於listview1中,沒有則加入,並從listview2中移除,我只有比較caption而已...另外下面的code是假設你一筆一筆讀入資料時處理的過程     
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i:integer;
 temp_item,temp_item2:TListitem;
 Found:boolean;
begin
 temp_item:=listview2.Items.Add;
 temp_item.Caption:='test';
 Found:=false;
 for i:=0 to listview1.Items.Count-1 do
   if listview1.Items.Item[i].Caption = temp_item.Caption then begin
    Found:=true;
    break;
   end;
 if Found=false then begin
    temp_item2:=listview1.Items.Add;
    temp_item2.Caption:= temp_item.Caption;
    listview2.Items.Delete(temp_item.Index);
 end
end; 
永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
系統時間:2024-05-04 17:18:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!