Erzwingen, das alle Elementrenderer zu commitProperties?
Habe ich ein Elementrenderer, prüft eine externe Quelle für die Anzeige von Informationen. Wenn diese Informationen ändert, möchte ich erzwingen, das alle Elementrenderer-Instanzen an, um es zu überprüfen.
Was ist der beste Weg für die Kraft von Elementrenderern in einer Liste oder raster, um entweder commitProperties
oder ausführen einige andere Methode?
-
Habe ich gelesen, dass durch das zurücksetzen der
grid.itemRenderer
Eigentum machen
Sie alle initialisieren. -
Habe ich erhielt auch der Vorschlag,
iteriert rekursiv durch alle
grid, Kinder-und call -invalidateProperties
auf alle UIComponents ich finde.
Irgendwelche Gedanken? Alternativen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denken Sie daran, dass in den Flex-Listen, die Sie beschäftigen sich mit der Virtualisierung und itemRenderer-recycling, also in der Regel nur die aktuell sichtbaren itemRenderers tatsächlich existieren, und daher sind diejenigen, die tatsächlich aktualisiert werden müssen.
Folgende Werke für listenbasierte Spark-Steuerelemente:
Wenn du hast 100 Artikel, dies wird aktualisieren Sie die 10 sichtbaren sind, und ignorieren Sie den virtuellen rest.
Wenn Sie die Arbeit mit mx DataGrid -, möchten Sie vielleicht versuchen, eine Variante dieser - muss es aber nicht verwenden DataGroup - /Funke-Virtualisierung, so dass ich don ' T haben eine Antwort für Sie aus der Spitze von meinem Kopf.
P. S. ich bin den letzten Schliff auf einer völlig Spark-DataGrid basiert, poste ich den link wenn ich fertig bin.
Datagroup hat getItemIndicesInView (), die Ihnen die Indizes aller Element-Renderer, die sind nicht in Sicht. Rufen Sie getElementAt mit diesen Indizes.
Ich in der Regel auch verlängern ItemRenderer und fügen Sie den folgenden, die bewirkt, dass die Elementrenderer-Status aktualisieren.
funktioniert gut für mich