![]() |
Delphi-Version: 7
1*1 mit ListView darstellen?
Hallo Delphianer,
ich möchte das 1*1 mittels ListView darstellen. Die Logik an sich und die Schleifen sind kein Problem, nur weiß ich nicht wie ich die einzelnen Zellen in der ListView ansprechen bzw. füllen soll. :gruebel: Und irgendwie finde ich keine gute Beschreibung dazu. Kann mir da jemand weiter helfen? Danke! |
AW: 1*1 mit ListView darstellen?
Gehe ich richtig davon aus, dass du noch keine Erfahrung mit ListView hast?
Zuerst ViewStyle auf vsReport stellen, dann Columns bilden. Geht im Objektinspektor, aber auch zu Laufzeit.
Delphi-Quellcode:
Beachte, dass das du hier etwas verdreht arbeitest, als mit NewColumn := Columns.Add fügst du ein neues Column dazu, mit NewColumn.Caption := 'Haupt' gibst du der Spalte eine Bezeichnung. Diese Art ist einfache. Columns.Add erstellt eine Spalte und die Adresse gibst du an NewColumn weiter. Schon kannst du mithilfe der NewColumn Variable arbeiten. Ist einfacher. Aber das geht auch so
var
NewColumn: TListColumn; begin with ListView do begin NewColumn := Columns.Add; NewColumn.Caption := 'Haupt'; NewColumn := Columns.Add; NewColumn.Caption := 'Sub';
Delphi-Quellcode:
Beides geht, je nachdem was mal lieber hat. Das sind die Spaltenbezeichnungen. Ohne die sieht man die Spalte nicht.
begin
with ListView do begin Columns.Add; Columns[0].Caption := 'Haupt'; Columns.Add; Columns[1].Caption := 'Sub'; Fast genauso funktioniert es mit den Items
Delphi-Quellcode:
Auch hier kann man direkt zugreifen:
var
ListItem: TListItem; begin with ListView do begin ListItem := Items.Add; ListItem.Caption := 'Hauptspalte'; ListItem.SubItems.Add('Subspalte1'); ListItem.SubItems.Add('Subspalte2'); ListItem.SubItems.Add('Subspalte3'); end; end;
Delphi-Quellcode:
Auf Caption einfach direkt zugreifen, auf Subitems später so:
Items.Add;
Items[0].Caption := 'Hauptspalte'; Items[0].SubItems.Add('Subspalte1'); Items[0].SubItems.Add('Subspalte2'); Items[0].SubItems.Add('Subspalte3');
Delphi-Quellcode:
Fast wie StringGrid, aber nur fast. Und wie überall, man kann auf nichts zugreifen was noch nicht da ist. Also zuerst erstellen und erst dann zugreifen. Vielleicht ist es deshalb besser so zu arbeiten als direkt zuzugreifen.
Items[0].SubItems[0] := 'Subspalte1A';
Items[0].SubItems[1] := 'Subspalte2B'; Items[0].SubItems[2] := 'Subspalte3C';
Delphi-Quellcode:
Für den nächsten Item wieder Item.Add eingeben.
with ListView do
begin ListItem := Items.Add; ListItem.Caption := 'Hauptspalte'; ListItem.SubItems.Add('Subspalte1'); |
AW: 1*1 mit ListView darstellen?
Danke dir!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz