我想
專案 1
專案1
專案2
button3.click
專案 1
專案2
我的代碼
procedure TMainForm.Button3Click(Sender: TObject);
var i,j, k: integer;
begin
I := 0;
while I < ListView1.Items.Count do
begin
for j := ListView1.Items.Count - 1 downto 0 do
begin
if ListView1.Items[I].SubItems[3] = ListView1.Items[j].SubItems[3] then
ListView1.Items.Delete(J);
Continue;
end;
Inc(I);
end;
end;
它是 ListView 所有專案洗掉..
uj5u.com熱心網友回復:
呼叫 時不會立即洗掉這些專案Delete()。在ListView必須回傳到訊息回圈的專案實際上成了洗掉。因此,如果您在第 1 行和第 4 行上有相同的專案,則這兩行都將被洗掉:
- 第 4 行當
i=1和j=4 - 第 1 行當
i=4和j=1
這是通過將for j := ...回圈更改為:
for j := ListView1.Items.Count - 1 downto i 1 do // instead of downto 0
這確保一對線只比較一次,并且洗掉兩條相等線中的后者。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/396932.html
