成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex ArrayCollection類用法詳解

開發 后端
本文向大家介紹一下Flex ArrayCollection的概念,集合是ActionScript中功能強大的基于索引的數組組件,添加了如對內容進行排序等功能。

本文和大家重點學習一下Flex ArrayCollection的概念,經常被使用的兩個集合類型是ArrayCollection類XMLListCollection類。ArrayCollection是Array的包裝類,提供更方便的如添加和移除數據項以及能夠創建游標啟用要輕松地存儲數組中的***讀取的位置等方法。

Flex ArrayCollection詳解

集合是ActionScript中功能強大的基于索引的數組組件,添加了如對內容進行排序等功能,操作數組的讀取位置,創建經過排序的數組視圖。集合也能通知其任意事件監聽器監聽其數據是否改變,以及任何數據項被添加到源數組時可執行自定義邏輯。當數據改變時可通知其監聽器,這是集合的新功能,叫數據綁定,還有就是允許DataGrid和List組件對其內容進行排序和過濾。集合是使用數據驅動控件以及從數據庫返回的服務器端服務的重要內容。

經常被使用的兩個集合類型是Flex ArrayCollection類XMLListCollection類。ArrayCollection是Array的包裝類,提供更方便的如添加和移除數據項以及能夠創建游標啟用要輕松地存儲數組中的***讀取的位置等方法。而XMLListCollection是XML對象的包裝類,提供的功能有:根據索引訪問數據,添加新對象以及游標等方法。XMLListCollection對于處理XML對象以及經常需要解析XML為數組時特別有用。
使用addItemAt或addItem方法插入對象到ArrayCollection,getItemIndex或contains方法用于檢測數據項是否已存在于數組中,而ArrayCollection的sort屬性是對ArrayCollection排序以及通過某個字段決定接收***個或***一個數據。

 

  1. 1.<mx:Script> 
  2. 2.<![CDATA[  
  3. 3.importmx.collections.SortField;  
  4. 4.importmx.collections.Sort;  
  5. 5.importmx.collections.ArrayCollection;  
  6. 6.privatevarcoll:ArrayCollection;  
  7. 7.privatefunctioninit():void{  
  8. 8.coll=newArrayCollection(  
  9. 9.[{name:"MartinFoo",age:25},  
  10. 10.{name:"JoeBar",age:15},  
  11. 11.{name:"JohnBaz",age:23}]);  
  12. 12.}  
  13. 13.要插入元素到指定位置,可使用addItemAt方法:  
  14. 14.privatefunctionaddItem():void{  
  15. 15.coll.addItemAt({name:"JamesFez",age:40},0);  
  16. 16.}  
  17. 17.]]> 
  18. 18.</mx:Script> 
  19.  

 Sort對象提供findItem方法用于搜索這個ArrayCollection中的所有元素。方法原型如下:
 

  1. publicfunctionfindItem(items:Array,values:Object,mode:String,  
  2. returnInsertionIndex:Boolean=false,compareFunction:Function=null):int 

Value參數可以是包含屬性和所需值的任何對象。Mode字符串可以是Sort.ANY_INDEX_MODE,表示返回任何匹配項索引,Sort.FIRST_INDEX_MODE表示返回***個匹配項索引,Sort.LAST_INDEX_MODE表示返回***一個匹配項索引。

returnInsertionIndex參數表示如果該方法找不到由values參數標識的項目,并且此參數為true,則findItem()方法將返回這些值的插入點,也就是排序順序中應插入此項目的。
compareFunction設置用于查找該項目的比較運算符函數.
使用Sort對象的findItem方法代替上面的方法:
 

  1. 1.privatefunctioncheckExistence():int{  
  2. 2.varsort:Sort=newSort();  
  3. 3.returnsort.findItem(coll.source,  
  4. 4.{name:nameTI.text,age:Number(ageTI.text)},  
  5. 5.Sort.ANY_INDEX_MODE);  
  6. 6.}  

 首先要創建一個Sort,傳遞一個SortField對象數組給fields屬性。這些SortField對象包含的字符串正是每個Flex ArrayCollection元素將要用來排序的屬性。如要對每個對象的age屬性進行排序,創建Sort對象,傳遞SortField,設置排序字段為age:
 

  1. 1.privatefunctiongetOldest():void{  
  2. 2.varsort:Sort=newSort();  
  3. 3.sort.fields=[newSortField("age",false)];  
  4. 4.coll.sort=sort;  
  5. 5.coll.refresh();  
  6. 6.trace(coll.getItemAt(0).age+""+coll.getItemAt(0).name);  
  7. 7.}  

 過濾 Flex ArrayCollection

對Flex ArrayCollection數據進行過濾,設置過濾器移除些不匹配的結果。
將原型為function(item:Object):Boolean的函數傳遞給ArrayCollection的filter屬性。如果返回true表示值繼續留在ArrayCollection,返回false表示其值被移除。

filterFunction屬性是由ListCollectionView類定義,它是ArrayCollection的父類。當過濾器函數被傳遞給繼承自ListCollectionView的任何子類后,這里為ArrayCollection對象,應用過濾器后必須調用refresh方法:
 

  1. 1.importmx.collections.ArrayCollection;  
  2. 2.privatevarcoll:ArrayCollection;  
  3. 3.privatefunctioninit():void{  
  4. 4.coll=newArrayCollection([  
  5. 5.{name:"MartinFoo",age:25},  
  6. 6.{name:"JoeBar",age:15},  
  7. 7.{name:"JohnBaz",age:23},  
  8. 8.{name:"MattBaz",age:21}]);  
  9. 9.coll.filterFunction=filterFunc;  
  10. 10.coll.refresh();  
  11. 11.for(vari:int=0;i<coll.length;i++){  
  12. 12.trace(coll.getItemAt(i).name);  
  13. 13.}  
  14. 14.}  
  15. 15.privatefunctionfilterFunc(value:Object):Object{  
  16. 16.if(Number(value.age)>21){  
  17. 17.returntrue;  
  18. 18.}rreturnfalse;  
  19. 19.} 

【編輯推薦】

  1. Flex Array和Flex ArrayCollection的用法和區別
  2. Flex必須了解的那些事
  3. Flex Array和ArrayCollection的性能相比誰更勝一籌
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. Flex ComboBox和Datagrid組件用法指導

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-27 14:44:23

Flex Array

2010-07-27 15:03:37

Flex ArrayC

2010-08-05 10:22:46

Flex效果

2010-08-13 14:58:01

FlexNumber數據類型

2010-07-27 14:36:31

Flex Array

2010-07-27 15:28:02

Flex DataBi

2010-08-13 15:23:10

Flex正則表達式

2010-08-06 09:45:50

Flex事件機制

2010-08-12 15:20:49

Flex Builde

2010-08-12 09:25:35

Flex控件

2010-08-06 10:15:35

Flex綁定

2010-08-09 12:42:16

Flex module

2010-08-12 09:11:09

Flex彈出窗口

2010-08-02 16:00:55

Flex配置

2010-07-28 10:38:29

Flex開源框架

2010-07-30 10:02:40

Flex驗證控件

2010-08-12 09:19:31

Flex彈出窗口

2010-07-30 10:13:38

Flex控件

2010-08-13 14:39:57

Flex布局

2010-07-29 09:00:29

Flex彈出窗口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利视频亚洲 | 狠狠热视频 | 精品在线免费观看视频 | 国产高清视频在线播放 | a视频在线观看 | 精品久久香蕉国产线看观看亚洲 | 国产小视频在线 | 美女天天干天天操 | 最新午夜综合福利视频 | 亚洲啪啪一区 | 国产无人区一区二区三区 | 亚洲欧美在线一区 | 日日干夜夜操天天操 | 欧美一区二区三区国产 | www.久久| 亚洲视频免费观看 | 亚洲精品视频观看 | 久草在线 | 午夜精品久久久久久久久久久久 | 国产精品中文字幕在线 | 日韩在线 | 午夜在线影院 | 国产精品久久久久久久久久久久久 | 毛片久久久 | 日本高清精品 | 日韩色在线| 亚洲精品久久久久久久久久久 | 午夜在线精品 | 亚洲成av人影片在线观看 | 国产精品资源在线 | 亚洲国产欧美在线人成 | 精品国产伦一区二区三区观看方式 | 日韩有码一区 | 免费看黄色小视频 | 亚洲最大福利网 | 国产成人叼嘿视频在线观看 | 视频一区二区中文字幕 | www.久| 亚洲天堂999 | 免费视频99 | 亚洲www啪成人一区二区麻豆 |