topical media & game development
professional-flex-code-06-FilteringCollections.mx
professional-flex-code-06-FilteringCollections.mx
[swf]
flex
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.ArrayCollection;
public function sortCollection():void
{
var sort:Sort = new Sort();
sort.fields = [new SortField("label", true, true)];
myCollection.sort = sort;
myCollection.refresh();
}
public function filterCollection():void
{
myCollection.filterFunction = stateFilterFunc;
myCollection.refresh();
}
private function stateFilterFunc(item:Object):Boolean
{
return item.label >= "A" && item.label < "N";
}
private function resetCollection():void
{
myCollection.filterFunction = null;
myCollection.sort = null;
myCollection.refresh();
}
]]>
</mx:Script>
<mx:ArrayCollection id="myCollection">
<mx:Array>
<mx:Object label="LA" data="Baton Rouge" />
<mx:Object label="NH" data="Concord" />
<mx:Object label="TX" data="Austin" />
<mx:Object label="MA" data="Boston" />
<mx:Object label="AZ" data="Phoenix" />
</mx:Array>
</mx:ArrayCollection>
<mx:List dataProvider="{myCollection}" width="200" />
<mx:Button label="Sort Collection" click="sortCollection()" />
<mx:Button label="Filter Collection" click="filterCollection()" />
<mx:Button label="Reset Collection" click="resetCollection()" />
</mx:Application>
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.