Einzelnen Beitrag anzeigen

Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#1

ListView laufzeitupdate und an der listen position bleiben?

  Alt 28. Aug 2005, 11:33
Hi
Ich mach in laufzeit mittels timer immerwieder updates auf einem ListView.
Ich ruf hier daten von einem Server ab und die Daten können sich komplett ändern oder auch nicht.

Jedenfalls würde ich gerne an der scroll position bleiben oder wieder zurück springen.
Bis jetzt mach ich das so:
Merken der Position
Delphi-Quellcode:
     ListItem := fMain.List.TopItem;
     if ListItem = nil then i := 0
     else i := ListItem.Index;
     fMain.List.Clear;
List View mit neuen Daten füllen.
Delphi-Quellcode:
     fMain.List.ItemIndex := i;
     fMain.List.Selected.MakeVisible(True);
Das funktioniert aber nicht ganz richtig, weil topItem das oberste item ist und MakeVisible in die mitte zentriert. Das bedeutet die Position verschiebts sich immer wieder.

Bevor ich groß daten abgleiche oder umständlich versuche das ListView mit Dten zu überschreiben und die restlichen einträge lösche bzw. neu hinzufüge ( also ohne .Clear ) wollte ich fragen wie sowas üblicherweise gemacht wird, bzw. wie ich auf die gleich position springen kann?

Arnulf
  Mit Zitat antworten Zitat