2012-03-06 156 views
1

這感覺就像它應該是一個相當簡單的問題,但我們整天都在這裏,並且無法解決問題。Flex DataGrid渲染和滾動問題

我們使用沒有ItemRenderer的默認Flex Datagrid。我們的網格鏈接到一個ArrayCollection模型。我們的屏幕上有許多按鈕可以改變模型。 (即「今天」顯示今天的數據,「點擊」所有顯示所有數據等)

如果我點擊所有和我們的電網填滿了,那麼我們就必須向下滾動才能看到這些信息,它工作正常。但是當我點擊另一個按鈕並且數據提供者中的數據發生變化時,顯示的數據網格不能正確渲染 - 如果我向下滾動三行,在數據網格發生變化之後,3條前3條線路不會顯示,直到我玩弄滾輪。

任何幫助將useufl。

感謝, 帕特里克

+0

不知道這是否有幫助,但我注意到,如果我不預先設置我的列,一切工作正常。問題是我不想展示一切 - 我只想展示幾列。 – fufonzo 2012-03-06 21:48:41

+0

請分享一些代碼。你如何改變dataProvider?你要更換它嗎?或者修改裏面的項目?如果是後者,則必須使用itemUpdated()來強制刷新渲染器。 [即使你沒有創建自己的渲染器,你仍然使用默認的渲染器] – JeffryHouser 2012-03-06 22:01:51

回答

0

以下爲我工作。創建完成時,我只是使網格的顯示列表無效。

<mx:Script> 
    private function updateGrid(event:Event):void { 
    event.currentTarget.invalidateDisplayList(); 
    } 
</mx:Script> 

<mx:DataGrid creationComplete="updateGrid(event)"> 
    <!-- stuff... --> 
</mx:DataGrid>