Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TListView Einträge an beliebiger Stelle editieren


dontello - Mo 01.08.11 22:51
Titel: TListView Einträge an beliebiger Stelle editieren
Hallo,

wie ist es möglich in einem ListView eine Zeile an einer beliebigen Stelle zu bearbeiten.

Einfügen am Ende geht ja noch mit: ListView.Items.Add.Subitems.Add('1');

Wie kann ich jetzt z.B. einen Eintrag in der zweiten Zeile editieren und die Inhalte überschreiben.

Habe es mit Insert versucht. Aber da kann ich nur einen Eintrag an der Stelle einfügen und die hinteren Einträge verschiebt es nach hinten.


jaenicke - Mo 01.08.11 23:25

Wie meinst du das? Du kannst doch den Wert einfach zuweisen, vorausgesetzt er wurde vorher auch hinzugefügt. :gruebel:

Delphi-Quelltext
1:
MyListView.Focused.SubItems[0] := 'Ein String';                    


dontello - Di 02.08.11 00:38

Ja,ich versteh nur nicht ganz wie ich da jetzt die Zeile die ich ändern will mit reinbring.
Also Beispiel das LV hat 10 Zeilen und ich möchte nun die Werte in Zeile 2 ändern?


Andreas L. - Di 02.08.11 09:11


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  Item: TListItem;
begin
  Item := ListView1.Items[1];

  // Überprüfen ob Eintrag existiert
  if Assigned(Item) then
    // Neuen Text setzen
    Item.Caption := 'Dein neuer Text';
end;


Zeile 2 hat den Index 1 weil die Zählung bei 0 beginnt.