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 Markierung beim ListView geht verloren (https://www.delphipraxis.net/75065-markierung-beim-listview-geht-verloren.html)

Codewalker 13. Aug 2006 18:59


Markierung beim ListView geht verloren
 
Hallo zusammen.

Ich nutze in meinem Programm ein TListView (mit Style = Report) um eine Art Task-Manager nachzuprogrammieren (Bitte jetzt nicht über den Sinn diskutieren :wink: ). Alle 3 Sekunden möchte ich die Liste der Task aktualisieren. Leider geht dabei die Markierung und Scrollposition verloren (BeginUpdate und EndUpdate hilft auch nicht). Gibt es einen eleganten Weg, beides zu behalten?

mkinzler 13. Aug 2006 19:01

Re: Markierung beim ListView geht verloren
 
Speichere diese doch vor dem Aktualisieren der Liste ab und stelle anschließend wieder her.

Bernhard Geyer 13. Aug 2006 19:02

Re: Markierung beim ListView geht verloren
 
Wenn Du alle 3 Sekunden alle Einträge löscht und neu einliest geht freilich die Markierung verloren.
Merk dir doch entweder den Itemtext oder ein anderes eindeutiges Merkmal deines markierten Eintrags und suche dies nach dem Füllen zum neu markieren.

Codewalker 13. Aug 2006 19:10

Re: Markierung beim ListView geht verloren
 
Selbst wenn ich das mache verrutscht es, weil der markierte Eintrag dann in der ersten Zeile landet. Wenn der User den Eintrag aber irgendwo in der Mitte ausgewählt hat, ist die Bedienung trotzdem wieder fummelig.

mkinzler 13. Aug 2006 19:16

Re: Markierung beim ListView geht verloren
 
Was hast du den weggeschrieben? Versuchsa mal mit was unveränderbaren, wie z.B. der PID oder zeichne nicht alles neu, sondern nur Änderungen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz