2010-06-08 69 views
0

例如,我有一個ArrayCollection,並且我想找到帶有「944」的電話開頭的人,我該怎麼做?Flex - 在ArrayCollection中搜索部分詞

<mx:ArrayCollection id="arrColl" > 
    <mx:source> 
     <mx:Array> 
      <mx:Object telephone="944768" subscriber="Smith P.T."/> 
      <mx:Object telephone="944999" subscriber="Peterson Q.T."/> 
     </mx:Array> 
     </mx:source> 
    </mx:ArrayCollection> 

回答

4

您是否將此ArrayCollection作爲數據提供者顯示給某個用戶?如果是這樣,那麼你可以設置集合的arrColl.filterFunction屬性,然後調用arrColl.refresh()

例過濾功能:

function filterTelephoneBeginsWith(item:Object):Boolean 
{ 
    var beginsWithString:String = "944"; 

    return String(item["telephone"]).indexOf(beginsWithString) == 0; 
} 

如果你只是試圖讓所有的人用944開頭的數組,你可以使用相同的功能 - 只需將其應用於arrColl中的每個項目,以確定它是否應該在您的結果數組中。