flex3实战 记录

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
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值