中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex 中ArrayCollection類如何使用

發布時間:2021-07-10 17:28:15 來源:億速云 閱讀:209 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Flex 中ArrayCollection類如何使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Flex ArrayCollection詳解

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

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

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

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

publicfunctionfindItem(items:Array,values:Object,mode:String,  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.privatefunctioncheckExistence():int{  2.varsort:Sort=newSort();  3.returnsort.findItem(coll.source,  4.{name:nameTI.text,age:Number(ageTI.text)},  5.Sort.ANY_INDEX_MODE);  6.}

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

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

過濾 Flex ArrayCollection

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

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

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

上述就是小編為大家分享的Flex 中ArrayCollection類如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韶关市| 措勤县| 六枝特区| 棋牌| 屯门区| 万源市| 星子县| 富锦市| 二手房| 连平县| 页游| 康平县| 邻水| 新竹市| 兰坪| 新晃| 清涧县| 宁陕县| 晴隆县| 沙湾县| 皋兰县| 宣城市| 克东县| 临漳县| 米泉市| 潼关县| 德昌县| 平邑县| 杭锦旗| 伽师县| 平舆县| 逊克县| 广南县| 无为县| 甘德县| 新兴县| 昔阳县| 全州县| 报价| 禹城市| 马山县|