![]() |
ListView Items verschieben und sortieren !?
Hi,
1. Ich will ein Item aus einer ListView per klick, eine zeile nach oben verschieben. Nachdem ich die forensuche hier benutzt habe, habe ich es schon so weit bekommen:
Delphi-Quellcode:
Leider funktioniert das nicht, also es wird nichts verschoben...
Listview1.Items.Insert(1);
Listview1.Items[1].Assign(Listview1.Items.Item[2]); Listview1.Items[2].Delete; 2. Gib es eine möglichkeit die Items in meiner Listview zu sortieren, allerdings nicht dauerhaft. Also sobald ich wieder neue items hinzufüge, soll er sie einfach wieder an das ende der liste anhängen. Und geht es, dass ich z.b. auf denn button klicke und er sortiert sie alphabetisch (das mache ich mit listview := stText) und bei nochmals klicken, werden sie wieder wie vorher sortiert bzw. angeordnet. mfg |
Re: ListView Items verschieben und sortieren !?
Zitat:
Zitat:
Zitat:
Mfg Frank |
Re: ListView Items verschieben und sortieren !?
Hallo Äfan,
was du da vor hast macht nur Sinn mit ListViews, die gleichzeitig Daten-Container sind, die also keine virtuellen ListViews sind. Zu deinem Code: Move() und Exchange() gibt es hier nicht. Insert() gibt dir einen Zeiger auf das neue ListItem zurück. Den solltest du dir merken um seine Assign() Methode verwenden zu können. Statt Delete() solltest du besser Free() verwenden, um keine Speicher-Lecks zu produzieren. Damit deine neuen Items immer hinten angefügt werden können musst du mit SortType = stNone und der Methode CustomSort() arbeiten. Ein Gedächtnis für die vorherige Sortierung hat die ListView nicht. Aber da du keine virtuelle ListView verwendest, kannst du den Data-Pointer verwenden um dort einen TimeStamp (GetTickCount eignet sich da ganz gut) zu hinterlegen. Anhand dieses Wertes kannst du zumindest die Erstellungsreihenfolge während einer Windows-Session wieder herstellen. Grüße vom marabu |
Re: ListView Items verschieben und sortieren !?
Hallo Aefan,
zum Listview-Sortieren gibts in der ![]() ![]() Zum Vertauschen von Elementen: Du koenntest wie gesagt mit Insert() und Delete() arbeiten. Greetz alcaeus |
Re: ListView Items verschieben und sortieren !?
Thx @ all
Zitat:
Für die, die den code wollen: Zitat:
mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:36 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