for
for(初始值;条件;递增)
for(属性名 in 数组/对象)
var myArray:Array = ["a","hello","test"];
for(var i:String in myArray) {//i表示为属性名,所以为String
trace(i);//0,1,2; --myArray[i]
}
var myObject:Object = {"firstName":'xixi',"laslName":'sd'};
for(var i:String in myObject){
trace("iii:"+i+",value:"+myObject[i]);
}
foreach(项 in 数组/对象) 用于迭代数组和对象,但测试的不死属性名,而是属性值
var myObject:Object = {test1:'1',test2:'f'};
for each(var i:String in myObject){
trace(i);//1,f
}
Array
push();把项添加到数组末尾
unshift():把项添加到数组的开头
pop():删除数组末尾的项
shift():删除数据开头的想
splice():从某个位置删除想,然后根据需要插入的新项。
tmpArray.splice(1,0,"tt");
//参数1:指定从数组中的那个索引位置开始操作
//参数2:指定想要删除的数量
//参数3:从第一个参数指定的索引开始参入心项
tmpArray.splice(1,1);
从第4个位置开始,删除两项,然后再添加3项
tmpArray.splice(3,2,"test1","test2","test3");
<!CDATA[...]]
7 格式化Fomatter
1. 函数format 接受一个需要被格式化的对象,返回一个String类型的结果,
所有格式化程序的共有属性:
errot string 在想要隔离格式化问题时使用这个属性,在format()函数返回空String时,意味着有错误发生
2.NumberFormatter
<mx:NumberFormatter id="fmtNumber" precision="2" rouding="up"/>
<mx:Label text="weight{fmtNumber.format(myDate.@value)}"/>
3.445 ->3.45
3.DateFormatter
DateFormatter的附加属性
formatString String 应用于日期的模式掩码(如YYYY/MM/DD)
<mx:DateFormatter id="fmtDate" formatString="MM.DD.YY" />
<mx:Label text="formatting the date as a String :{fmtDate.format(sDate)}" />
如果数据来源于xml需要{String(fmtDate.format(sDate))},
sDate可以为String对象也可以为Date对象,如"21/01/08 12:42" OR new Date("12/01/08 12:42");
4. PhoneFormatter 主要表现通过formatString属性指定显示电话号码的格式,format()函数接受两种类型的对象,String or Number
常见模式###-####-#### or +##-########
<mx:PhoneFormatter id="fmtNumber" formatString="(###) ###=####"/>
<mx:Label text="phone:{ftmNumber.format(2016679872)}"/> #号个数必须和数字个数一样多
7.2 实时格式化
7.3脚本格式化
demo1:
import mx.formatters.*
[Bindable]private var rawPhone:String = "222333";
private function fotmatThis(plainText:String):String
{
var fmtPhone:PhoneFormatter = new PhoneFormatter();
if(plainText.length==7){
fmtPhone.formatString = "###-####";
}else{
fmtPhone.formatString = "###-###-###";
}
return (fmtPhone.format(plainText));
}
<mx:Label text="{fotmatThis(rawPhone)}" />
为提高模块化程度,可以继续增加可重用性,如:
private var fmtZip:ZipCodeFormatter = new ZipCodeFormatter();
private function formatThis(plainText:String,formatString:String):String
{
fmtZip.formatString = formatString;
// return (fmtZip.format(plainText));
var formattedString = fmtZip.format(plainText);
if(fmtZip.error == "Invalida value"){
//
}
else if(fmtZip.error == "Invalid format"){
//
}
}
<mx:Label text="zip:{formatThis('788','# ##')}"/>
7.4处理格式化错误
如果格式化过程顺利,error属性的值为空,如果格式化遇到问题,error属性会有相应的错误代码(Invalid Value or Invalid format)
在发生格式化错误时 ,格式化的值也将被设置为空
在使用格式化程序时,最好在调用format()函数后立即检查error属性,这样就有机会及时处理格式化过程中出现的问题
8. DataGrid,列表和树
1.使用基于列表的组件显示普通数据
2.使用基于列表的组件显示层次化数据
3.通过基于列表的组件处理用户交互
4.从基于列表的组件中检索指定项
1.dataProvider与集合-,大多数组件的显示的数据项都来自dataProvider,这些组件成为数据驱动空间
1.集合的类型:
ArrayCollection:一种主要的集合类型,ArrayCollection 基于Array构建
XMLListCollection:在包装XML及XMList对象的基础上添加标准集合功能而成。
GroupingCollection:由AdvancedDataGrid显式使用,用于分组数据
两种出事后集合的方法
1.关联表情的MXML文件
如
List
<mx:ArrayCollection id="myAc">
<mx:Object label="Jon" data="jhirschi""/>
<mx:Object label="Jon" data="jhirschi""/>
</mx:ArrayCollection>
2.actionscript
private var myAc:ArrayCollection = new ArrayCollection([
{label:"john",data:"jj"},
{label:"john1",data:"j"}
]);
默认显示label指定的值
或者通过指定标签如labelField="xxx" 来指定显示的列
8.4.2 HorizontalList
8.4.3 TileList
创建包含显示项的大小相同的拼贴块(tile)的个子,当然,也没有列标题,也不能排序,(适合目录)
显示指定数量的块,其他滚动再显示,占用内存少
<mx:TileList id="myFriend" dataProvider="{myAC}" labelField="name" direction="vertical" columnWidth="指定宽度" />
Tile:会一次性渲染所有对象,物流示范需要立即把这些对象显示给用户,如果渲染的对象很多,用户就要等地啊较长时间才能看到初始窗口
8.4.4 DataGrid
属性:resizeableColumns Boolean 确定用户示范可以调整列的大小,适用于所有列,有效值为true和false,默认为true
sortableColumns Boolean 设置用户示范可以对列进行排序,适用于所有列,有效值为true和false,默认为true
<mx:DataGrid id="dg" width="500" height="200" >
<mx:Object name="Tariq Ahmed" email="1@126.com" />
<mx:Object name="Tariq Ahmed" email="1@126.com" />
<mx:Object name="Tariq Ahmed" email="1@126.com" />
</mx:DataGrid>
or
<mx:DataGrid id="dg" width="500" height="150" dataProvider="{myAc}">
<mx:columns>
<mx:DataGridColumn dataFeild="name" headerText="contact name" width="300" sortable="true-控制排序"/>
<mx:DataGridColumn dataFeild="email" headerText="email" width="300"/>
<mx:columns>
</mx:DataGriid>
DataGridColumn 标签控制属性:
列宽、列标头、列中的自动换行、启用行内编辑、指定鼠标在列中单击的处理方式
8.4.5 Tree
for(初始值;条件;递增)
for(属性名 in 数组/对象)
var myArray:Array = ["a","hello","test"];
for(var i:String in myArray) {//i表示为属性名,所以为String
trace(i);//0,1,2; --myArray[i]
}
var myObject:Object = {"firstName":'xixi',"laslName":'sd'};
for(var i:String in myObject){
trace("iii:"+i+",value:"+myObject[i]);
}
foreach(项 in 数组/对象) 用于迭代数组和对象,但测试的不死属性名,而是属性值
var myObject:Object = {test1:'1',test2:'f'};
for each(var i:String in myObject){
trace(i);//1,f
}
Array
push();把项添加到数组末尾
unshift():把项添加到数组的开头
pop():删除数组末尾的项
shift():删除数据开头的想
splice():从某个位置删除想,然后根据需要插入的新项。
tmpArray.splice(1,0,"tt");
//参数1:指定从数组中的那个索引位置开始操作
//参数2:指定想要删除的数量
//参数3:从第一个参数指定的索引开始参入心项
tmpArray.splice(1,1);
从第4个位置开始,删除两项,然后再添加3项
tmpArray.splice(3,2,"test1","test2","test3");
<!CDATA[...]]
7 格式化Fomatter
1. 函数format 接受一个需要被格式化的对象,返回一个String类型的结果,
所有格式化程序的共有属性:
errot string 在想要隔离格式化问题时使用这个属性,在format()函数返回空String时,意味着有错误发生
2.NumberFormatter
<mx:NumberFormatter id="fmtNumber" precision="2" rouding="up"/>
<mx:Label text="weight{fmtNumber.format(myDate.@value)}"/>
3.445 ->3.45
3.DateFormatter
DateFormatter的附加属性
formatString String 应用于日期的模式掩码(如YYYY/MM/DD)
<mx:DateFormatter id="fmtDate" formatString="MM.DD.YY" />
<mx:Label text="formatting the date as a String :{fmtDate.format(sDate)}" />
如果数据来源于xml需要{String(fmtDate.format(sDate))},
sDate可以为String对象也可以为Date对象,如"21/01/08 12:42" OR new Date("12/01/08 12:42");
4. PhoneFormatter 主要表现通过formatString属性指定显示电话号码的格式,format()函数接受两种类型的对象,String or Number
常见模式###-####-#### or +##-########
<mx:PhoneFormatter id="fmtNumber" formatString="(###) ###=####"/>
<mx:Label text="phone:{ftmNumber.format(2016679872)}"/> #号个数必须和数字个数一样多
7.2 实时格式化
7.3脚本格式化
demo1:
import mx.formatters.*
[Bindable]private var rawPhone:String = "222333";
private function fotmatThis(plainText:String):String
{
var fmtPhone:PhoneFormatter = new PhoneFormatter();
if(plainText.length==7){
fmtPhone.formatString = "###-####";
}else{
fmtPhone.formatString = "###-###-###";
}
return (fmtPhone.format(plainText));
}
<mx:Label text="{fotmatThis(rawPhone)}" />
为提高模块化程度,可以继续增加可重用性,如:
private var fmtZip:ZipCodeFormatter = new ZipCodeFormatter();
private function formatThis(plainText:String,formatString:String):String
{
fmtZip.formatString = formatString;
// return (fmtZip.format(plainText));
var formattedString = fmtZip.format(plainText);
if(fmtZip.error == "Invalida value"){
//
}
else if(fmtZip.error == "Invalid format"){
//
}
}
<mx:Label text="zip:{formatThis('788','# ##')}"/>
7.4处理格式化错误
如果格式化过程顺利,error属性的值为空,如果格式化遇到问题,error属性会有相应的错误代码(Invalid Value or Invalid format)
在发生格式化错误时 ,格式化的值也将被设置为空
在使用格式化程序时,最好在调用format()函数后立即检查error属性,这样就有机会及时处理格式化过程中出现的问题
8. DataGrid,列表和树
1.使用基于列表的组件显示普通数据
2.使用基于列表的组件显示层次化数据
3.通过基于列表的组件处理用户交互
4.从基于列表的组件中检索指定项
1.dataProvider与集合-,大多数组件的显示的数据项都来自dataProvider,这些组件成为数据驱动空间
1.集合的类型:
ArrayCollection:一种主要的集合类型,ArrayCollection 基于Array构建
XMLListCollection:在包装XML及XMList对象的基础上添加标准集合功能而成。
GroupingCollection:由AdvancedDataGrid显式使用,用于分组数据
两种出事后集合的方法
1.关联表情的MXML文件
如
List
<mx:ArrayCollection id="myAc">
<mx:Object label="Jon" data="jhirschi""/>
<mx:Object label="Jon" data="jhirschi""/>
</mx:ArrayCollection>
2.actionscript
private var myAc:ArrayCollection = new ArrayCollection([
{label:"john",data:"jj"},
{label:"john1",data:"j"}
]);
默认显示label指定的值
或者通过指定标签如labelField="xxx" 来指定显示的列
8.4.2 HorizontalList
8.4.3 TileList
创建包含显示项的大小相同的拼贴块(tile)的个子,当然,也没有列标题,也不能排序,(适合目录)
显示指定数量的块,其他滚动再显示,占用内存少
<mx:TileList id="myFriend" dataProvider="{myAC}" labelField="name" direction="vertical" columnWidth="指定宽度" />
Tile:会一次性渲染所有对象,物流示范需要立即把这些对象显示给用户,如果渲染的对象很多,用户就要等地啊较长时间才能看到初始窗口
8.4.4 DataGrid
属性:resizeableColumns Boolean 确定用户示范可以调整列的大小,适用于所有列,有效值为true和false,默认为true
sortableColumns Boolean 设置用户示范可以对列进行排序,适用于所有列,有效值为true和false,默认为true
<mx:DataGrid id="dg" width="500" height="200" >
<mx:Object name="Tariq Ahmed" email="1@126.com" />
<mx:Object name="Tariq Ahmed" email="1@126.com" />
<mx:Object name="Tariq Ahmed" email="1@126.com" />
</mx:DataGrid>
or
<mx:DataGrid id="dg" width="500" height="150" dataProvider="{myAc}">
<mx:columns>
<mx:DataGridColumn dataFeild="name" headerText="contact name" width="300" sortable="true-控制排序"/>
<mx:DataGridColumn dataFeild="email" headerText="email" width="300"/>
<mx:columns>
</mx:DataGriid>
DataGridColumn 标签控制属性:
列宽、列标头、列中的自动换行、启用行内编辑、指定鼠标在列中单击的处理方式
8.4.5 Tree