使用Flex開發,在一個DataGrid中使用了自定義的itemRenderer,是一個TextInput,可是滾動datagrid的滾動條,發現TextInput中的數據都不見了。html
看了這篇博客後解決了問題:http://www.cnblogs.com/4kapple/archive/2010/10/28/1863643.htmlapp
文中說到:adobe的設計小組基於性能和低內存的考慮,設計了recycling機制,只負責「看得見」的控件,對於那些因爲滾動而被遮蓋的控件,用戶須要本身編碼在必要的時候更新其value。ide
看到了他的解決方法,我在我用的DataGrid中添加了一個監聽事件:函數
- userDataGrid.addEventListener(ScrollEvent.SCROLL,userDataGridScroll);
而後在處理函數裏面這樣:性能
- AuthorityCheckUserColumn.itemRenderer = authorityCheckUserFactory;
就是從新賦值一次itemRenderer,由於DataGrid的數據源dataProvider是不會隨滾條變化的,因此這樣賦值之後,拖動滾動條就不會看見itemRenderer裏面的數據消失。編碼