`

Flex ArrayCollection几点注意

    博客分类:
  • Flex
阅读更多

ArrayCollection是flex中的数组集合类,能够自动更新变化绑定的试图界面,它是很常用的,我们使用它时需要注意几个地方

 

1。事件监听, ArrayCollection可以为它注册一个集合改变的监听事件(CollectionEvent.COLLECTION_CHANGE),就是一旦ArrayCollection数组改变就会触发Event,不是所有情况的改变都会触发改变事件,如果集合当中的对象属性没有被绑定,那么你改变它的对象值也是不会触发事件的,在这种情况下你也许可能需要去将对象的属性进行绑定或者通过itemUpdated方法去管理对象值改变,除非集合的长度改变了,事件才会被触发

 

2。对象删除, ArrayCollection的对象删除方法removeAll(),有这样一种情况,当你在过滤集合数据的时候,它并不会删除所有数据,而是删除全部过滤的数据,不符合过滤条件的数据就没被删除,依然还在source中

 

3。过滤函数, ArrayCollection有个filterFunction过滤函数,就是可能集合中你只需要显示其中某几个对象,你将会需要根据对象条件筛选对象,那么你可能会用过滤函数,过滤函数会将不符合条件的对象过滤出来,但是ArrayCollection有个source属性是不会变的,它是个数组,所有源数据全在里面,尽管你去过滤,所有对象都会一直存在其中

 

4。排序, ArrayCollection还有一个sort属性是用来排序的,你可以为其指定排序字段

 

 

以上仅是我使用 ArrayCollection时碰到过的,希望对别人提供参考

分享到:
评论
5 楼 Sev7en_jun 2011-11-22  
lz我有个问题想请教你
比如说 从java哪里获取了一个List对象,那么怎么用下面红色部分标签显示(我已经获取到了List)
<mx:DataGrid>
  <mx:dataProvider>
    <mx:ArrayCollection id="list" list="{userColls}">
     </mx:ArrayCollection>
   </mx:dataProvider>
</mx:DataGrid>

不使用下面这种方式,就只使用上面那种怎么可以实现?
<mx:DataGrid id="list" dataProvider="{userColls}">
4 楼 lydawen 2009-04-23  
xldbk 写道

tomcatlee2003 写道
ArrayCollect 和 advanceddatagrid绑定的时候,可以双向绑定吗?就是在grid上面修改了数据能反映到ArrayCollect吗? 如果你将ArrayCollection绑定到了advanceddatagrid,你修改了Grid的数据是可以触发CollectionEvent的


双向绑定完全可以的。你可以自己用代码做个绑定。跟做一个变量与textinput 双向绑定完全一样
3 楼 tomcatlee2003 2009-01-20  
xldbk 写道

tomcatlee2003 写道
ArrayCollect 和 advanceddatagrid绑定的时候,可以双向绑定吗?就是在grid上面修改了数据能反映到ArrayCollect吗?

如果你将ArrayCollection绑定到了advanceddatagrid,你修改了Grid的数据是可以触发CollectionEvent的


Thanks a lot!
2 楼 xldbk 2009-01-16  
tomcatlee2003 写道

ArrayCollect 和 advanceddatagrid绑定的时候,可以双向绑定吗?就是在grid上面修改了数据能反映到ArrayCollect吗?

如果你将ArrayCollection绑定到了advanceddatagrid,你修改了Grid的数据是可以触发CollectionEvent的
1 楼 tomcatlee2003 2009-01-13  
ArrayCollect 和 advanceddatagrid绑定的时候,可以双向绑定吗?就是在grid上面修改了数据能反映到ArrayCollect吗?

相关推荐

Global site tag (gtag.js) - Google Analytics