首页 > 设计 > WEB开发 > 正文

13.3.确定ArrayCollection数据项是否被修改

2023-07-22 12:39:15
字体:
来源:转载
供稿:网友
13.3.1. 问题
我想检测ArrayCollection 中的数据项是否被修改。
13.3.2. 解决办法
监听ArrayCollection 类发出的扩展自EventDispatcher 的事件类型collectionChange 或CollectionEvent.COLLECTION_CHANGE。
13.3.3. 讨论
任何时候对集合数据的添加和删除都会引发CollectionEvent 类型事件collectionChange。当控件绑定集合后,集合的改变通过此事件来通知绑定器。添加一个事件监听器给集合来监听COLLECTION_CHANGE 事件,你可以对集合的数据变化作出处理:
+展开
-ActionScript
private var coll:ArrayCollection = new ArrayCollection();
coll.addEventListener(CollectionEvent.COLLECTION_CHANGE, collChangeHandler);

CollectionEvent 类定义了些额外属性:
items : Array
当数据项被添加时发出此事件,items 属性代表被添加的数据数组,如果是删除时触发的,则代表被删除的数据数组。

kind
这是一个字符串代表事件类型,其值可以是add, remove, replace, or move.

location
该属性为items 属性中指定的项目集合中基于零的索引

oldLocation
如果kind 的值为CollectionEventKind.MOVE,则此属性为items 属性中指定的项目在目标集合中原来位置的从零开始的索引。

默认值为-1.
使用CollectionEvent,就可以推断ArrayCollection 或XMLListCollection 前后所处状态,在确定服务器上的Flex 应用程序是否被更新时非常有用。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表