Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#1

Grundgedanke: ListView-Daten in ObjectList speichern?

  Alt 15. Apr 2017, 09:51
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;

Geändert von a.def (15. Apr 2017 um 10:11 Uhr)
  Mit Zitat antworten Zitat