2009-08-18 39 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

相关问题