tags:

views:

4223

answers:

2

I have a DataGrid, populated with objects in an ArrayCollection. After updating one of the objects' fields, I want the screen to update. The data source is not bindable, because I'm constructing it at runtime (and I don't understand how to make it bindable on the fly yet -- that's another question).

In this situation, if I call InvalidateDisplayList() on the grid nothing seems to happen. But if I call invalidateList(), the updates happen. (And it's very smooth too -- no flicker like I would expect from invalidating a window in WIN32.)

So the question: what is the difference between InvalidateList and InvalidateDisplayList? From the documentation it seems like either one should work.

A: 

invalidateDisplayList() merely sets a flag so that updateDisplayList() can be called later during a screen update. invalidateList() is what you want.

http://livedocs.adobe.com/flex/2/langref/mx/core/UIComponent.html#invalidateDisplayList()

beingdevious
+8  A: 

invalidateList tells the component that the data has changed, and it needs to reload it and re-render it.

invalidateDisplayList tells the component that it needs to redraw itself (but not necessarily reload its data).

mike chambers

[email protected]

mikechambers