Entwickler-Ecke

WinForms - C# Listview update/refresh Probleme


Kryox - Fr 18.01.13 11:15
Titel: C# Listview update/refresh Probleme
Hallo :) !

Ich habe eine ListView erstellt und dort werden Daten dynamisch gefüllt. Die ListView wird alle 3 Sekunden aktualisiert.

Problem 1: Die Auswahl(Selecteditem) bleibt beim refresh nicht bestehen.
Problem 2: Der Scrollbalken springt nach oben.
Problem 3: Es ist ein kleines, unschönes "flackern" zu sehen.

Ich habe mir Gedanken gemacht und hatte die Idee nur die Items in der Listview zu Ändern(remove/add) die sich geändert haben. Dies würde denke ich mein Problem lösen. In der Listview sind zwischen 30-100 Items wobei sich beim Refresh maximal 2 Items ändern.

Ich weiß nur nicht wie ich das ganze am besten angehen soll.

Würde mich freuen, wenn mir jemand helfen könnte.

Danke!!


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am Fr 18.01.2013 um 12:22


Ralf Jansen - Fr 18.01.13 12:20

1. und 2. ließe sich lösen in dem du dir vor dem Refresh das Focused und/oder Selected Item merkst und nachher wieder setzt.

Gegen das Flackern solltest du den Resfresh in ein Begin/EndUpdate klammern und DoubleBuffering für das ListView einschalten. Ist aber nicht zwingend ausreichend.


Kryox - Fr 18.01.13 12:29

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
1. und 2. ließe sich lösen in dem du dir vor dem Refresh das Focused und/oder Selected Item merkst und nachher wieder setzt.

Gegen das Flackern solltest du den Resfresh in ein Begin/EndUpdate klammern und DoubleBuffering für das ListView einschalten. Ist aber nicht zwingend ausreichend.


Danke für deine Rückantwort. Leider zieht das löschen der Items in der Listview noch andere Probleme nach. Daher wäre mir meine ausgedachte Idee lieber, wenn mir jemand helfen könnte sie zu Realiseren.

Danke!

lg


Kryox - Di 22.01.13 07:42

Sonst noch jemand Lösungsansätze od. der helfen kann/will?

Danke!


san-software - Di 22.01.13 10:29

wo kommen denn die Daten her bzw. wie bringst Du sie ind die Listbox?


Kryox - Fr 25.01.13 07:09

user profile iconsan-software hat folgendes geschrieben Zum zitierten Posting springen:
wo kommen denn die Daten her bzw. wie bringst Du sie ind die Listbox?


Das ist eine AR Server DB abfrage, also mit "foreach".

Danke!