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()
}
}

