arrayCollection比array高级。增加了一些事件和方法。
而array没有任何事件。所以如果让他们都作为数据源的话,比如:http://tonylian.iteye.com/blog/288964 所谈到的
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var myArray:Array=["北京","上海","深圳"];
[Bindable]
public var myCollection:ArrayCollection=new ArrayCollection(myArray);
public function addCountryToArray(country:String):void{
myArray.push(country);
}
public function addCountryToCollection(country:String):void{
myCollection.addItem(country);
}
]]>
</mx:Script>
<mx:TextInput id="countryTextInput" text="广州"/>
<mx:Label text="Bound to Array (Raw Object)"/>
<mx:Button click="addCountryToArray(countryTextInput.text)" label="Add Country to Array"/>
<mx:List dataProvider="{myArray}" width="200"/>
<mx:Label text="Bound to Collection"/>
<mx:Button click="addCountryToCollection(countryTextInput.text)" label="Add Country to Collection"/>
<mx:List dataProvider="{myCollection}" width="200"/>
</mx:Application>
为什么myArray改变了,视图没有更新?
那是因为array没有事件,它的数据的变化,不会发出任何事件。所以list就没有收到任何消息,也就不会作出改变。
除非你改变myArray指向的对象,这样list就会得到通知,而作出改变。
也就是这样:
public function addCountryToArray(country:String):void{
myArray=New Array("北京","上海","深圳","广州");}
分享到:
相关推荐
Flex的Array和ArrayCollection
在IT行业中,ArrayCollection是ActionScript 3.0和Flex框架中的一个重要数据结构,它扩展了Array类,提供了对数据的双向绑定和事件通知功能。ArrayCollection不仅支持数组的操作,还具备列表的数据管理特性,因此在...
在Flex编程中,ArrayCollection是一种常用的集合类,它继承自Array类并添加了对数据绑定的支持。然而,尽管ArrayCollection通常被用作数据绑定的主要工具,但在特定情况下,可能会遇到“ArrayCollection不完全绑定”...
ArrayCollection是基于Array的,但提供了对数据的更高级别的访问,如排序和过滤功能。在某些情况下,我们需要将ArrayCollection转换为XML格式,以便于数据交换或存储。本实例将详细介绍如何实现这一转换。 首先,...
var arrayCollection: ArrayCollection = new ArrayCollection(arrayData); tree.dataProvider = arrayCollection; ``` 最后,我们来看Object数据源。Object数据源通常用于更复杂的结构,其中每个对象可能包含多个...
`ArrayCollection`不直接接受Java对象,而是需要一个数组(`Array`)或者实现了`IList`接口的对象。这是因为Flex和Java运行在不同的环境中,它们的数据类型不完全兼容。 在描述中提到的问题是,当我们从Java方法...
在Flex开发中,ArrayCollection是一种常用的集合类,它继承自Array并添加了对数据绑定和事件处理的支持。然而,当ArrayCollection应用了过滤器后,直接使用`removeItemAt()`方法尝试删除过滤后的数据可能会遇到问题...
ArrayCollection是Flex框架中的一个类,它是Array的包装器,提供了数据绑定和事件处理功能。在这个主题中,我们可能会探讨如何对ArrayCollection中的元素进行排序。 在Flex或ActionScript开发中,ArrayCollection是...
as3xls 只支持excel2003版本以下的,不支持扩展名为.xlsx的excel,而类库Rxlsx支持....var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格控件grid绑定数据显示出来
在Flex开发中,XML数据与ArrayCollection之间的转换是非常常见的操作,特别是在处理动态数据或从服务器获取XML格式的数据时。ArrayCollection是一种常用的集合类,它基于Array,并提供了数据绑定功能,适用于用户...
as3xls 只支持excel2003版本以下的,不支持扩展名为.xlsx的excel,而类库Rxlsx支持....var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格控件grid绑定数据显示出来
在我们的例子中,可能的数据源可以是XML、Array或ArrayCollection。 下面是一段简单的Flex代码,展示了如何创建一个基本的List控件: ```actionscript <![CDATA[ import mx.collections.ArrayCollection; ...
当我们有大量数据时,通常会使用ArrayCollection,它扩展了Array,并添加了与数据绑定相关的功能,这对于搜索非常有用。 在AS3中执行查询,我们可以利用ArrayCollection的filter函数。这个函数接受一个函数作为参数...
dataGrid.dataProvider = new ArrayCollection(arrayData); ``` **HTTP服务与报表** HttpService 类用于向远程服务器发送请求。通过设置url和result属性,指定请求地址和返回结果处理方法,然后调用`Send()`方法...
然而,`DropDownList`在Spark组件中只接受实现了`IList`接口的数据集合,如`ArrayList`或`ArrayCollection`,不再接受`Array`。 这是因为`Array`不支持数据变更的监听,而`ArrayList`和`ArrayCollection`提供了这种...
在Flex中,数据源可以是Array、ArrayCollection或XMLListCollection等。这些数据结构可以动态更新,从而实现图表的动态更新,这正是“DynamicUpdate”这个文件名所暗示的。 动态更新数据源的步骤通常包括: 1. ...
是`Array`,则转换为`ArrayCollection`;是`XML`或`XMLList`,则转换为`XMLListCollection`;在其他情况下,转换为单元素的`ArrayCollection`。这些转换是基于`ICollectionView`、`IList`和`ArrayCollection`等接口...
这个库的主要优点在于,它能够将Excel表格的数据转换为AS3可以处理的数据结构,如Array或ArrayCollection,以便在Flex应用程序中进行进一步的处理和显示。 AS3XLS的核心类是`XLS`,它是用来加载和解析Excel文件的...
Array或ArrayCollection是常见的选择,它们可以方便地绑定到UI组件如DataGrid或List,展示音乐文件的元数据,如标题、艺术家和专辑。此外,我们可以利用XML或JSON格式来序列化和反序列化音乐数据,以便于与服务器...
DataGrid可以与各种数据源绑定,包括Array、ArrayCollection、XMLList等,也可以通过数据提供者机制连接到更复杂的后端服务。 二、DataGrid的基本使用 创建一个基本的DataGrid涉及以下几个步骤: 1. 导入必要的库:...