![]() |
Arbeiten mit listview
hi,
ich habe versucht in den letzten ein TListView zu verwenden, leider bin ich schon beim fülen gescheitert. ich bekomme es einfach nich hin ein Listview im vsReport style mit mehreren Spalten zu füllen. :twisted: Könnte mir da jemand vielleicht weiter helfen? habe hier schon gesucht aber nix gefunden was mir weiterhilft. Danke im vorraus [edit=Daniel B]Doppelpost gelöscht. MfG Daniel B.[/edit] |
Moin Lordroc,
kleiner Tip: Das eigentliche Item entspricht der ersten Spalte, die weiteren werden dann durch die SubItems dieses Items gebildet. |
Kleine Ergänzung:
Diese Spalten werden jedoch nur angezeigt, wenn du die Columns entsprechend setzt. Beispiel: Columns (TString): - Dateiname - Dateigröße - Dateidatum Im Code dann: var LI: TListItem; begin LI:=ListView1.Items.Add; LI.Caption:='Test.txt'; LI.SubItem.Add:='100 Kbyte'; LI.SubItem.Add:='01.01.2001'; Du kannst natürlich auch noch weitere SubItems adden, diese werden dann aber nicht angezeigt (sind aber da). Benutze ich manchmal um interne Informationen zu den Einträgen abzulegen. Solltest du auf ein ListItem zugreifen wollen, dann: LI:=ListView1.Items[2] oder LI:=ListView1.Selected Dann kannst du auf die Informationen mit LI.Caption oder LI.SubItem[0] zugreifen. Wenn du aber nach dem Zugriff den Eintrag löschen willst, dann mußt du ihn mit LI:=nil vorher freigeben, sonst Exception :D Alles klar? |
@Captnemo
Hi! Fand die ganze Geschichte sehr interessant und habe Dein Codebeispiel direkt mal ausprobiert. Allerdings nicht mit dem gewünschten Erfolg :( Musste den Code ein wenig verändern, damit er angenommen wurde:
Delphi-Quellcode:
Habe ich damit jetzt irgend etwas durcheinandergebracht (habe nur die SubItems.Add-Zeilen angepasst. Aber in der ListView erschien trotzdem nur die Caption...
var
LI: TListItem; begin LI:=ListView1.Items.Add; LI.Caption:='Test.txt'; LI.SubItems.Add('100 Kbyte'); LI.SubItems.Add('01.01.2001'); :?: Matthias [edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit] |
Hast du ein den Eigenschaften vom ListView das ViewStyle wirklich auf vsReport?
Hast du in den Eigenschaften auf Columns einen Doppelklick gemacht, und die Spalten erstellt ? Dann müste es eigentlich richtig dargestellt werden. Noch ein kleiner Tipp: Wenns funktioniert, dann setzt mal bei einer Spalte (Doppelklick auf Columns der Eigenschaften vom Listview) die Eigenschaft Autosize auf True. Dann wird diese Spalte immer so breit, wie nötig um das ListView horizontal auszufüllen. Aber erst wenn deine Anzeige so ist, wie du es wolltest :D |
So würde es zumindest bei mir aussehen:
Delphi-Quellcode:
So kann man relativ einfach die ListView-Tabelle Zeile für Zeile mit Daten füllen.
LV.Items.Add.Caption := 'test.txt;
with LV.Items.Item[LV.Items.Count-1].SubItems do begin Add('100 kb'); Add('01.01.2001'); end; |
@Captnemo
Ich hatte NATÜRLICH vergessen, den ViewStyle auf vsReport zu stellen... :oops: Jetzt funktioniert's! :) Matthias |
Aha, Augen auf beim Eierkauf :mrgreen:
Na klappt doch. Alles klar. :spin: :spin: :party: |
danke für die Hilfe werde es gleich mal ausprobieren! :D
und tut mir leid wegen dem doppelpost! :oops: |
so habe heute mal eure Tips zum Listview ausprobiert und es hat funktioniert. Nochmals danke!! :hello: :hello: :hello:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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 by Thomas Breitkreuz