日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
FlexArrayCollection類用法詳解

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

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出沁水免費做網(wǎng)站回饋大家。

Flex ArrayCollection詳解

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

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

 
 
 
  1. 1.
  2. 2.
  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.

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

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

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

returnInsertionIndex參數(shù)表示如果該方法找不到由values參數(shù)標識的項目,并且此參數(shù)為true,則findItem()方法將返回這些值的插入點,也就是排序順序中應(yīng)插入此項目的。
compareFunction設(shè)置用于查找該項目的比較運算符函數(shù).
使用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.}

 首先要創(chuàng)建一個Sort,傳遞一個SortField對象數(shù)組給fields屬性。這些SortField對象包含的字符串正是每個Flex ArrayCollection元素將要用來排序的屬性。如要對每個對象的age屬性進行排序,創(chuàng)建Sort對象,傳遞SortField,設(shè)置排序字段為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數(shù)據(jù)進行過濾,設(shè)置過濾器移除些不匹配的結(jié)果。
將原型為function(item:Object):Boolean的函數(shù)傳遞給ArrayCollection的filter屬性。如果返回true表示值繼續(xù)留在ArrayCollection,返回false表示其值被移除。

filterFunction屬性是由ListCollectionView類定義,它是ArrayCollection的父類。當過濾器函數(shù)被傳遞給繼承自ListCollectionView的任何子類后,這里為ArrayCollection對象,應(yīng)用過濾器后必須調(diào)用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
  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.}

當前名稱:FlexArrayCollection類用法詳解
URL網(wǎng)址:http://m.5511xx.com/article/cdjeoej.html