2009-08-18 70 views
4

我使用了Listview.items.item [X] .caption來更改列表框中的第一列,但是現在我不得不在運行時進一步更改。我所看到的唯一方法是將列表框中的項目作爲TListItem,編輯它,添加它並更改位置,但這不適合它,因爲我在listview上有很多項目。如何更改列表視圖中的子項目?

有沒有更簡單的方法來實現這一點,就像我改變第一個項目一樣?

在此先感謝。

回答

8

試試這個

//Add a item 

var 
    ListItem : TListItem; 
begin 

    ListViewItem.Items.BeginUpdate; 
try 
    ListItem := ListViewItem.Items.Add; 
    ListItem.Caption := 'First Column Value'; 
    ListItem.SubItems.Add('Second Column Value'); 
    ListItem.SubItems.Add('Third Column Value'); 
finally 
ListViewItem.Items.EndUpdate; 
end; 

end; 

//Edit a Item 

var 
    ListItem : TListItem; 
begin 

    ListViewItem.Items.BeginUpdate; 
try 
    ListItem := Listview.items.item[X]; 
    ListItem.Caption := 'New first Column Value'; 
    ListItem.SubItems[0]:='New Second Column Value'; 
    ListItem.SubItems[1]:='New Third Column Value'; 
finally 
ListViewItem.Items.EndUpdate; 
end; 

end; 
+0

約翰,我覺得這是你所需要的。如果不是,你需要更好地解釋這個問題。問候。 – 2009-08-18 11:53:08

+2

我有個更好的主意。 ListView1.Items.item [X] .subitems.Strings [Y]:='項目X上子項目Y的字符串'; :) +1和接受雖然。 – 2009-08-18 12:30:26

相關問題