Ich mache mir gerade Gedanken, wie ich meine ListView verbessern kann.
Aktuell schreibe ich einfach Caption und SubItem-Captions direkt in die ListView. Sollte man denke ich nicht machen.
Mein Gedanke wäre nun eine ObjectList zu erstellen.
Wenn ich 5 ListVie-Einträge brauche, erstelle ich 5 ObjectList-Einträge, befülle es mit Daten und hänge es mit ListView1.Items.AddObject() an die ListView.
Soweit ich weiß werden die Daten dann in
Data eines jeden ListView-Items gespeichert.
Ist das bisher so richtig?
So sieht mein Gedanke aus der bestimmt total falsch ist
Delphi-Quellcode:
type
PListViewObjectData = ^TListViewObjectData;
TListViewObjectData = class
sCol0, sCol1, sCol2: string;
end;
type
TForm1 = class(TForm)
// ...
private
{Private-Deklarationen}
aListViewObjectList: TObjectList<TListViewObjectData>;
// ...
procedure TForm1.Button4Click(Sender: TObject);
var
i: Integer;
aListViewObjectData: TListViewObjectData;
aItem: TListItem;
begin
for i := 0 to 4 do
begin
aListViewObjectData := TListViewObjectData.Create;
aListViewObjectData.sCol0 := 'Col0';
aListViewObjectData.sCol1 := 'Col1';
aListViewObjectData.sCol2 := 'Col2';
aListViewObjectList.Add(aListViewObjectData);
end;
for i := 0 to aListViewObjectList.Count - 1 do
begin
aItem := ListView1.Items.Add;
aItem.Caption := aListViewObjectList.Items[i].sCol0;
aItem.SubItems.Add(aListViewObjectList.Items[i].sCol1);
aItem.SubItems.Add(aListViewObjectList.Items[i].sCol2);
end;
end;