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());
相关文档:
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 ......
1、当创建一个数组的时候避免用new操作符,用 var a:Array = [];而不用var a:Array = new Array();
2、快速的复制一个数组:
var copy : Array = sourceArray.concat ();
3、设置一个数组的值是非常忙的:
employees.push ( employee ); employees[2] = employee;
4、从一个数组中取得值的速度是设置一个数组值的两倍 ......
Flex中如何通过strokeWidth, strokeColor和shadowColor样式,创建一个自定义风格的HRule或VRule
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
&nbs ......
ArrayCollection经常做ComboBox控件的集合还有DataGrid的集合,要注意它的格式。data的属性里面如果是数字不需要双引号,若是字符串就必须加,而且需要提前作var定义
public var outgoing:String;
  ......