Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView per Code sortieren (https://www.delphipraxis.net/126032-listview-per-code-sortieren.html)

Cyberbob 16. Dez 2008 16:47


ListView per Code sortieren
 
Hi Community,

ich versuche grad, eine Listview per Code zu sortieren. Allerdings funktioniert es nicht.
Sortieren tue ich mit folgendem Code
Delphi-Quellcode:
var Speicher : TListItem;
[...]
Speicher := Listview.Items[i];
Listview.Items[i] := Listview.Items[i + 1];
Listview.Items[i + 1] := Speicher;
[...]
Das Problem ist aber das "Speicher" nach
Delphi-Quellcode:
Speicher := Listview.Items[i];
immer noch leer ist, die Zeile
Delphi-Quellcode:
Listview.Items[i] := Listview.Items[i + 1];
funktioniert jedoch.
Was mache ich hier falsch. Aus der Suchfunktion habe ich erfahren dass ich die SubItems und die Data noch mit behandeln muss, was aber bei mir keinen Effekt hatte, ich habe nach wie vor den selben Fehler!

Gruß,
Chris

guidok 16. Dez 2008 17:39

Re: ListView per Code sortieren
 
Ich habe hier kein Delphi zur Hand, deshalb weiß ich jetzt auch nicht, was ein TListItem ist, aber ist ein TListView.Items[i] nicht vom Typ String?

Hast du mal versucht, die Variable Speicher als String zu deklarieren?

Aufpassen musst du auch, dass du mit ListView.Items[i+1] nicht über das Ende der Liste hinausschießt, aber da würde schon eine Fehlermeldung kommen...

toms 16. Dez 2008 17:46

Re: ListView per Code sortieren
 
Hallo

Eine TListView hat Sortiermethoden:

Delphi-Quellcode:
TListView.AlphaSort
TListView.CustomSort

smallsmoker 16. Dez 2008 17:58

Re: ListView per Code sortieren
 
das benutze ich immer wenn ich eine tlistview sortieren muss
link
mfg smallsmoker

Cyberbob 16. Dez 2008 22:06

Re: ListView per Code sortieren
 
Danke smallsmoker, das habe ich gesucht, da ich das Sortieren per Druck auf die Spaltencaption eh implementiert habe, kann ich das einfach weiter verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 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