Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Grundgedanke: ListView-Daten in ObjectList speichern? (https://www.delphipraxis.net/192397-grundgedanke-listview-daten-objectlist-speichern.html)

a.def 15. Apr 2017 09:51


Grundgedanke: ListView-Daten in ObjectList speichern?
 
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz