Flex - 通过部分单词在ArrayCollection中搜索

时间:2010-06-08 18:10:49

标签: flex flash actionscript-3 flex3

例如我有一个ArrayCollection,我想找到电话号码为“944”的人,我该怎么办?

<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>  

1 个答案:

答案 0 :(得分:4)

您是否将此ArrayCollection显示为某个用户的数据提供者?如果是,那么您可以设置集合的arrColl.filterFunction属性,然后调用arrColl.refresh()

示例过滤功能:

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

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

如果您只想尝试以944开头的所有数组,您可以使用相同的功能 - 只需将其应用于arrColl中的每个项目,以确定它是否应该在你得到的数组。