2009-08-18 5 views
4

Ich habe Listview.items.item [X] .caption verwendet, um die erste Spalte in einer Listbox zu ändern, aber jetzt muss ich zur Laufzeit weitergehen. Die einzige Möglichkeit, die ich sehe, ist, das Element aus Listbox als TListItem zu bekommen, es zu bearbeiten, füge es hinzu und ändere die Position, aber das passt nicht, weil ich viele Einträge in der Listenansicht habe.Wie ändere ich einen Unterpunkt in einer Listenansicht?

Gibt es einen einfacheren Weg, um dies zu erreichen, wie die Art, wie ich das erste Element ändere?

Vielen Dank im Voraus.

Antwort

8

versuchen, diesen

//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

John, ich denke, das ist das, was Sie brauchen. Wenn dies nicht der Fall ist, müssen Sie die Frage besser erläutern. Grüße. –

+2

Ich habe eine viel bessere Idee. ListView1.Items.item [X] .subitems.Strings [Y]: = 'String bei Unterposition Y auf Position X'; :) +1 und akzeptiert obwohl. –

Verwandte Themen