Flex - Поиск в ArrayCollection по части слова - PullRequest
0 голосов
/ 08 июня 2010

Например, у меня есть 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 Ответ

4 голосов
/ 08 июня 2010

Показываете ли вы эту коллекцию ArrayCollection в качестве поставщика данных где-то пользователю? Если это так, то вы можете установить arrColl.filterFunction свойство коллекции и затем вызвать arrColl.refresh()

Пример функции фильтра:

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

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

Если вы просто пытаетесь получить массив из всех, начиная с 944, вы можете использовать ту же функцию - просто примените ее к каждому элементу в arrColl, чтобы определить, должен ли он быть в вашем результате Массив.

...