1

我有一个 ArrayCollection,其中包含一组值对象。此 ArrayCollection 填充 DataGrid。我通过对服务器的 HTTPService 调用将数据加载到 ArrayCollection 中。一旦进行了第一次服务器调用,我就开始重复调用服务器以确保我在数据网格中显示了最新的数据(金融价格)。当我获得新的更新时,网格中的所有数据都会重新加载,这会导致数据出现一些闪烁。

当我从服务器返回一组新数据时,如何仅更新数据网格的某些列?

斯蒂芬

4

1 回答 1

0

您必须更新各个元素,而不是替换 DataGrid 的 dataProvider。基本上,循环遍历新数据和旧数据;检查类似的元素,如果数据已更新,请替换该 VO。

这应该触发 ArrayCollection 的 collectionChanged 事件,该事件应该刷新 DataGrid 中相应单元格的 itemRenderer。

但是,我希望这比简单地替换 dataProvider 的性能要差。从理论上讲,这应该会导致更少的闪烁,因为您没有更新所有内容,只是需要更新的元素。

于 2010-06-23T11:27:22.227 回答