Servus,
Ich habe eine Listview im Einsatz, dieser habe ich via Colums 3 Spalten verpasst, die 1. nutze ich zum "checken"
via Klick auf die Header sollen die einzelnen Spalten entsprechend Sortiert werden.
Bei Spalte 2, und 3 funktioniert das auch wunderbar (weil alle unterschiedlich sind)
bei Spalte 1 wird falsch sortiert, ich weis das Quicksort nicht Ordnungserhaltent ist, das wäre nicht das Problem.
Habe ich was Falsch implementiert oder habe ich eine denkfehler, oder ist das ein Bug ?
Das Beispiel hier zeigt es eigentlich gleich wie ich es gemacht habe.
Zum Testen:
Compilieren, auf Fill drücken und dann den Spaltenheader mit den Checkboxen 1 mal drücken.
Erwartetes Verhalten : Alle Checked Einträge oben, danach die unchecked
Tatsächliches Verhalten: eine Teilweise sortierte Liste.
Listview Sortierung, Bug oder Feature ?
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Listview Sortierung, Bug oder Feature ?
- Dateianhänge
-
bug.zip
- Sourceode
- (2.37 KiB) 51-mal heruntergeladen
--
Just try it
Just try it
Re: Listview Sortierung, Bug oder Feature ?
Musst du halt zwei mal klicken
Im Ernst, ich denke, dein Testprogramm ist Ordnung. Wahrscheinlich kann Lazarus nicht einmal etwas dafür, da ein natives Sortierverfahren genutzt wird. Daher funktioniert dein Testbsp. bei mir gut unter Linux aber nicht unter Windows. Könntest zwar einen Bugreport dazu aufmachen, wird aber vermutlich nicht helfen. Daher unter Windows bei der ersten Spalte besser selber sortieren.

Im Ernst, ich denke, dein Testprogramm ist Ordnung. Wahrscheinlich kann Lazarus nicht einmal etwas dafür, da ein natives Sortierverfahren genutzt wird. Daher funktioniert dein Testbsp. bei mir gut unter Linux aber nicht unter Windows. Könntest zwar einen Bugreport dazu aufmachen, wird aber vermutlich nicht helfen. Daher unter Windows bei der ersten Spalte besser selber sortieren.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Listview Sortierung, Bug oder Feature ?
lol, ich hatte es bisher nur unter Windows getestet, dass es unter Linux funktioniert war mir noch gar nicht aufgefallen.
Das Programm das ich da gerade schreibe ist eh für mich, bzw nur Linux. Damit ist dieses Problem erledigt, wenn auch nicht unbedingt optimal.
thx.
Das Programm das ich da gerade schreibe ist eh für mich, bzw nur Linux. Damit ist dieses Problem erledigt, wenn auch nicht unbedingt optimal.
thx.
--
Just try it
Just try it