Mega Code Archive

 
Categories / Flex / Effects
 

Use the Reset button to restore the collection view to its original state

<!-- Code from Flex 4 Documentation "Using Adobe Flex 4". This user guide is licensed for use under the terms of the Creative Commons Attribution  Non-Commercial 3.0 License.  This License allows users to copy, distribute, and transmit the user guide for noncommercial  purposes only so long as    (1) proper attribution to Adobe is given as the owner of the user guide; and    (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms.  The best way to provide notice is to include the following link.  To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ --> <!-- dpcontrols\SortFilterArrayCollection.mxml --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"     xmlns:s="library://ns.adobe.com/flex/spark"     xmlns:mx="library://ns.adobe.com/flex/mx" width="600">     <s:layout>         <s:VerticalLayout />     </s:layout>     <fx:Script>                   import mx.collections.*;          /* Function to sort the ICollectionView          in ascending order. */          public function sortAC():void {              var sortA:Sort = new Sort();              sortA.fields=[new SortField("label")];              myAC.sort=sortA;              //Refresh the collection view to show the sort.              myAC.refresh();          }          /* Function to filter out all items with labels          that are not in the range of M-N. */          public function stateFilterFunc(item:Object):Boolean {              return item.label >= "M" && item.label < "O";          }          /* Function to apply the filter function the ICollectionView. */          public function filterAC():void {              myAC.filterFunction=stateFilterFunc;              /* Refresh the collection view to apply the filter. */              myAC.refresh();          }          /* Function to Reset the view to its original state. */          public function resetAC():void {              myAC.filterFunction=null;              myAC.sort=null;              //Refresh the collection view.              myAC.refresh();          }             </fx:Script>     <fx:Declarations>         <!-- An ArrayCollection with an array of objects. -->         <mx:ArrayCollection id="myAC">             <fx:Array id="myArray">                 <fx:Object label="LA" data="Baton Rouge" />                 <fx:Object label="NH" data="Concord" />                 <fx:Object label="TX" data="Austin" />                 <fx:Object label="MA" data="Boston" />                 <fx:Object label="AZ" data="Phoenix" />                 <fx:Object label="OR" data="Salem" />                 <fx:Object label="FL" data="Tallahassee" />                 <fx:Object label="MN" data="Saint Paul" />                 <fx:Object label="NY" data="Albany" />             </fx:Array>         </mx:ArrayCollection>     </fx:Declarations>     <!-- Buttons to filter, sort, or reset the view in the second ComboBox          control. -->     <s:HGroup width="100%">         <s:Button id="sortButton" label="Sort" click="sortAC();" />         <s:Button id="filterButton" label="Filter" click="filterAC();" />         <s:Button id="resetButton" label="Reset" click="resetAC();" />     </s:HGroup>     <s:ComboBox id="cb1" dataProvider="{myAC}" /> </s:Application>