Flex 集合(ArrayCollection)
合是ActionScript 中功能强大的基于索引的数组组件,添加了如对内容进行排序等功能,
操作数组的读取位置,创建经过排序的数组视图。集合也能通知其任意事件监听器监听其数
据是否改变,以及任何数据项被添加到源数组时可执行自定义逻辑。当数据改变时可通知其
监听器,这是集合的新功能,叫数据绑定,还有就是允许DataGrid 和List 组件对其内容进
行排序和过滤。集合是使用数据驱动控件以及从数据库返回的服务器端服务的重要内容。
经常被使用的两个集合类型是ArrayCollection 类XMLListCollection 类。ArrayCollection 是
Array 的包装类,提供更方便的如添加和移除数据项以及能够创建游标启用要轻松地存储数
组中的最后读取的位置等方法。而XMLListCollection 是XML 对象的包装类,提供的功能
有:根据索引访问数据,添加新对象以及游标等方法。XMLListCollection 对于处理XML 对
象以及经常需要解析XML 为数组时特别有用。
使用addItemAt 或addItem 方法插入对象到ArrayCollection ,
getItemIndex 或contains 方法用于检测数据项是否已存在于数组中,而ArrayCollection 的sort
属性是对ArrayCollection 排序以及通过某个字段决定接收第一个或最后一个数据。
Flex代码
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;
private var coll:ArrayCollection;
private function init():void {
coll = new ArrayCollection(
[{name:"Martin Foo", age:25},
{name:"Joe Bar", age:15},
{name:"John Baz", age:23}]);
}
要插入元素到指定位置,可使用addItemAt 方法:
private function addItem():void {
coll.addItemAt({name:"James Fez", age:40}, 0);
}
]]>
</mx:Script>
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;
private var coll
相关文档:
在Flex中,利用state进行状态和页面的迁移与变换,中间的AddChild IOverride有一个creationPolicy,这个属性有三种设置,分别如下:
AUTO:默认设置,只有在状态改变的时候,即时的生成新增组件;
ALL:在Application加载的时候,就加载了新增的组件,在状态改变的时候显示;
NONE:需要手动的调用该addChild Instance c ......
.treeStyte{
selectionColor: #417597;
/* 去掉默认图标 */
folderClosedIcon: ClassReference(null);
folderOpenIcon: ClassReference(null);
&nbs ......
<mx:HSlider id="priceSlider" creationComplete="{HsilderChangeThumb(event)}"/>
<mx:Script>
<![CDATA[
private function HsilderChangeThumb(e:Event):void
{
var slider:HSlider = e.target as HSlider;
&nbs ......
--------web.xml文件
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
--------Java代码
public class GetSeesion {
/**
* 设置session
* */
public ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="myInit()">
<mx:Script>
<![CDATA[
import flash.events.*;
import flash.net.URLRequest;
import flash.me ......