invalidateList和invalidateDisplayList有什么区别?

时间:2008-09-16 16:32:37

标签: flex datagrid

我有一个DataGrid,在ArrayCollection中填充了对象。更新其中一个对象的字段后,我希望屏幕更新。数据源是不可绑定的,因为我在运行时构造它(我不明白如何使其在动态上可绑定 - 这是另一个问题)。

在这种情况下,如果我在网格上调用InvalidateDisplayList()似乎没有发生任何事情。但是如果我调用invalidateList(),则会发生更新。 (它也非常流畅 - 没有像我期望的那样在WIN32中使窗口无效。)

所以问题是:InvalidateList和InvalidateDisplayList有什么区别?从文档中看,似乎任何人都应该工作。

2 个答案:

答案 0 :(得分:18)

invalidateList告诉组件数据已更改,并且需要重新加载并重新呈现它。

invalidateDisplayList告诉组件它需要重绘自己(但不一定要重新加载它的数据)。

答案 1 :(得分:0)

invalidateDisplayList()仅设置一个标志,以便稍后在屏幕更新期间调用updateDisplayList()。 invalidateList()是你想要的。

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