2010-06-23 42 views
1

我有一個ArrayCollection,包含一組Value對象。這個ArrayCollection填充一個DataGrid。我通過對服務器的HTTPService調用將數據加載到ArrayCollection中。第一次服務器調用完成後,我開始重複調用服務器以確保我有數據網格中顯示的最新數據(金融價格)。 當我得到新的更新時,網格中的所有數據都會重新加載,這會導致數據閃爍。更新ArrayCollection的部分

當我從服務器返回一組新的數據時,如何更新數據網格的某些列?

斯蒂芬

回答

0

而不是取代你的DataGrid的數據提供程序的,你必須更新單個元素。基本上,循環使用新數據和舊數據;檢查相似的元素,如果數據更新,則替換該VO。

這應該觸發ArrayCollection的collectionChanged事件,該事件應刷新DataGrid中相應單元格的itemRenderer。

但是,我預計這會比簡單替換dataProvider的性能更低。從理論上講,這應該會導致更少的閃爍,因爲您沒有更新所有內容,只是需要更新的元素。