Thanks, but am still having issues... i have just one textinput working and not 
perfectly. here is the code NB. i call keywordChangeHandler(event)on the change 
of the textinput

/******************* code to get Archives *****************************/
                        //[Bindable]
                        private var archiveAr:ArrayCollection=new 
ArrayCollection();
                        
                        /* [Bindable]
                        private var filteredAr:ArrayCollection = new 
ArrayCollection(archiveAr.toArray()); */
                        
                        [Bindable]
                        private var filteredAr:ArrayCollection=new 
ArrayCollection();
                        
                        private function archiveResult(event:ResultEvent):void
                        {
                                archiveAr=event.result as ArrayCollection;
                                //filteredAr=event.result as ArrayCollection;
                        }
                        
                        /******************* Start Filter Functions 
***************************/
                        
                        private var keywordText:String="keywords";
                        
                        
                        
                        private function filterGrid():void
                        {
                                archiveAr.filterFunction=myFilterFunction;
                                archiveAr.refresh();
                                
                                for (var i:int=archiveAr.length - 1; i >= 0; 
i--)
                                {
                                        if (!filteredAr.contains(archiveAr[i]))
                                        {
                                                
filteredAr.addItem(archiveAr[i]);
                                        }
                                }
                                for (i=filteredAr.length - 1; i >= 0; i--)
                                {
                                        if (!archiveAr.contains(filteredAr[i]))
                                        {
                                                filteredAr.removeItemAt(i);
                                        }
                                }
                        }
                        
                        private function filterReset():void
                        {
                                
                                archiveAr.filterFunction=null;
                                archiveAr.refresh();
                        
                        }
                        
                        private function myFilterFunction(item:Object):Boolean
                        {
                                return item[keywordText].match(new 
RegExp(generalSearch.text, 'i'));
                                //return item[keywordText].match(new 
RegExp("^"+generalSearch.text, 'i'));
                        }
                        
                        private function keywordChangeHandler(event:Event):void
                        {
                                if (generalSearch.text != '')
                                {
                                        filterGrid();
                                }
                                else
                                {
                                        filterReset()
                                }       
                                
                        }

Reply via email to