Flex 集合(ArrayCollection)
关键字: 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.
相关文档:
几日前被老总推荐文章一篇,来自7yue兄的blog,作者是Sean Moore ,
原文地址:http://www.insideria.com/2009/04/51-actionscript-30-and-flex-op.html
与其在程序写完了之后臃肿得跑不动,不如平时注意这些关键点,时时提醒自己。翻译出来,以便以后时时查阅。
1 创建新数组时避免使用它的构造函数。
......
Windows
设置环Path境变量,加入flex的SDk的bin目录路径,如:f:\flex_sdk_3\bin。设置好了之后,打开命令行,定位到项目目录,输入如下命令:mxmlc 项目名.mxml。如果此时出现了“Error:could not find JVM”,这时需要手动指定JRE路径,打开Flex3 SDK的bin目录,用文本编辑器打开jvm. ......
effects\Blinds.as
JScript code
package effects
{
import effects.effectClasses.BlindsInstance;
import mx.controls.scrollClasses.ScrollBarDirection;
import mx.effects.IEffectInstance;
  ......
废话不说,直接代码部分代码摘抄自网上,在此想原作者表示感谢
1、服务端 uploadFile.ashx
<%@ WebHandler Language="VB" Class="UploadFile" %>
Imports System
Imports System.Web
Imports System.Web.HttpServerUtility
Imports System.IO
Imports System.Web.HttpRequest
Public Class UploadFile : Impl ......
flex和C++服务器通信。因为安全沙漏问题,当swf位于A服务器,C++服务器程序位于B服务器时。
这时swf和B服务器建立Socket建立连接会产生跨域问题。
解决方法如下
swf建立socket时会先发起一个请求跨域文件的请求:"<policy-file-request/>"
服务器接收到后发送字符串
<?xml version="1.0"?>
<cross-doma ......