2010-06-08 73 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中的每个项目,以确定它是否应该在您的结果数组中。