Flex DataGrid使用itemRenderer后,拖动垂直滚动条,TextInput里面的数据消失

使用Flex开发,在一个DataGrid中使用了自定义的itemRenderer,是一个TextInput,但是滚动datagrid的滚动条,发现TextInput中的数据都不见了。

看了这篇博客后解决了问题:http://www.cnblogs.com/4kapple/archive/2010/10/28/1863643.html

文中说到:adobe的设计小组基于性能和低内存的考虑,设计了recycling机制,只负责“看得见”的控件,对于那些由于滚动而被遮盖的控件,用户需要自己编码在必要的时候更新其value。

看到了他的解决方法,我在我用的DataGrid中添加了一个监听事件:

  
  
  
  
  1. userDataGrid.addEventListener(ScrollEvent.SCROLL,userDataGridScroll); 

然后在处理函数里面这样:

  
  
  
  
  1. AuthorityCheckUserColumn.itemRenderer = authorityCheckUserFactory

就是重新赋值一次itemRenderer,因为DataGrid的数据源dataProvider是不会随滚条变化的,所以这样赋值以后,拖动滚动条就不会看见itemRenderer里面的数据消失。

你可能感兴趣的:(Flex)