FLEX 动态变量(TESTED)
动态变量(TESTED)
因为动态的dataGrid,产生动态的列
col1 col2 col3.......
在获取行,而行由object组成,行的每个字段是OBJECT的属性
比如获取某行 object 第二列 的值 object.col2
需要动态变量
var obj:Object = arrColl[i];
for(var j:int=1;j<=colCount;j++){
temp=obj["col"+j];
Alert.show(temp,"xx");
}
for(var j:int=1;j<=colCount;j++){
//-----动态变量-----
temp=temp+obj["col"+j]+",";
}
Alert.show(temp,"x2");
}
var 声明的变量属于inline变量,也就是内联变量。只有编译之前才可以声明,一旦编译成SWF就无法添加删除。
而root["某某某"+i ]则属于是动态变量,局限于有dynamic关键字的类才可以使用。即便已经编译成SWF也可以动态添加删除。
两者的最大区别就是读写速度相去甚远。内联变量速度比动态变量快不是一点点,不过相对的动态变量可以随时添加随时删除比较灵活。
Flex 动态增加属性
关键字: flex
Flex可以动态创建类的属性。
var obj:Object = new Object();
obj["yourAttribute1"] = yourValue;
obj["yourAttribute2"] = yourValue;
obj["yourAttribute3"] = yourValue;
验证:
trace(obj.yourAttribute1.toString());
相关文档:
1、XMLSocket对象简介
在概述里,已经提到过了Flash里的XMLSocket对象,它是实现Falsh和服务器Socket间
通信的核心。它允许包含Flash应用的浏览器与服务端建立socket连接,之后Flash应用与服务端就可以相互发送XML数据,而且在一个
socket连接建立之后,在该连接上传送的数据量是没有限制的,直到socket连接关闭。XMLSoc ......
as:
var app:Object;
function setApp(ap:Object):void{
this.app=ap;
}
btn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
app.fun(btn.label);
}
flex:
private function onSwfLoaded(event:Event):void
{
myloader.addEventListen ......
<mx:DataGrid id="dg" click="select()" dataProvider= "{modelLocator.resultList}" borderStyle="none"
verticalGridLines="false" horizontalGridLines="false" verticalScrollPolicy="off" rowCount="10"
fontSize="16" fontStyle="normal" fontThickness="0" width="100%" height="100%">
<mx:columns& ......
在Flex里,一般的弹出窗口(除了Alert以外)都可以用TitleWindow组件完成,主窗口和TitleWindow的数据传输可以用以下方法
假设TitleWindow的实例文件为titleWin.mxml,则要在Application中用PopUpManager创建一个titleWin的引用
private var popWin:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true) ......
ArrayCollection经常做ComboBox控件的集合还有DataGrid的集合,要注意它的格式。data的属性里面如果是数字不需要双引号,若是字符串就必须加,而且需要提前作var定义
public var outgoing:String;
  ......