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/)
-   -   VirtualTreeView auf Sichtbarwerden des letzten Knoten reagieren? (https://www.delphipraxis.net/189985-virtualtreeview-auf-sichtbarwerden-des-letzten-knoten-reagieren.html)

sh17 17. Aug 2016 10:04

VirtualTreeView auf Sichtbarwerden des letzten Knoten reagieren?
 
Hallo,

ich möchte beim vertikalen Scrollen in einem VirtualTreeView gern auf das Sichtbarwerden des letzten Knoten reagieren, um weitere Knoten nachzuladen. Quasi eine Art endloses scrollen.

Welches Ereignis des VirtualTreeView wäre denn dafür geeignet? Ich finde das nichts brauchbares.

Danke

Zacherl 17. Aug 2016 14:15

AW: VirtualTreeView auf Sichtbarwerden des letzten Knoten reagieren?
 
Du könntest
Delphi-Quellcode:
OnAfterCellPaint
missbrauchen und sobald die letzte Node im TreeView gezeichnet wurde (solltest du über den Index recht einfach herausfinden können) weitere Daten nachladen.

Was ich mich allerdings frage ist, warum du das Nachladen überhaupt benötigst. Der Vorteil vom VirtualTreeView ist doch grade, dass man hunderttausende Nodes auf einmal hinzufügen kann, ohne dass die Performance darunter leidet. Oder lädst du die Daten aus einer Netzwerkquelle?

sh17 17. Aug 2016 14:45

AW: VirtualTreeView auf Sichtbarwerden des letzten Knoten reagieren?
 
Zitat:

Zitat von Zacherl (Beitrag 1345057)
Was ich mich allerdings frage ist, warum du das Nachladen überhaupt benötigst. Der Vorteil vom VirtualTreeView ist doch grade, dass man hunderttausende Nodes auf einmal hinzufügen kann, ohne dass die Performance darunter leidet. Oder lädst du die Daten aus einer Netzwerkquelle?

Ich weiß in dem Moment nicht, wieviel Einträge es werden, da die Abfrage sehr zeitintensiv ist. Erst wenn der Nutzer wirklich an die Stelle kommt, lade ich die nächsten x Einträge.

Aviator 18. Aug 2016 11:50

AW: VirtualTreeView auf Sichtbarwerden des letzten Knoten reagieren?
 
Kannst du im OnScroll Event nicht die vst.BottomNode mit der vst.GetLastNode vergleichen und dann nachladen? Das Paint Event dafür zu benutzen halte ich für nicht sinnvoll da das dann Performance Probleme geben könnte. Das Zeichnen wird ja immer ausgeführt auch wenn du nur mit der Maus drüberfährst. Aber du willst ja nur, dass das im OnScroll passiert.


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