hi i had the same problem and eventually come up with one that could help you.
the only problem is that i can't get the checkbox filter to work with the rest
maybe after trying out this you can help solve the checkbox issue. this filter
function uses a combination of a slider, two comboboxes and radio buttons. hope
we can help one another. let me know how it goes...
////////////////////////filters//////////////////////////////////////////////////////////////////////////
private var sliderFromValue : Number = 0;
private var sliderToValue : Number = 3000000;
private var selectedCity : String = "All";
private var selectedLocation : String = "All";
private var selectedValue: Boolean;
private var poolSelected: Boolean = false;
private function onSliderChange(event:SliderEvent):void
{
var slider:Slider = Slider(event.currentTarget) ;
sliderFromValue = priceSlider.values[0];
sliderToValue = priceSlider.values[1];
filterGrid() ;
currentState = '';
}
private function cityChangeHandler(event:Event):void
{
if( city_cb.selectedItem != null )
selectedCity = city_cb.selectedLabel;
filterGrid();
currentState = '';
}
private function locationChangeHandler(event:Event):void
{
if( lct_cb.selectedItem != null )
selectedLocation = lct_cb.selectedLabel;
filterGrid();
currentState = '';
}
private function categoryChangeHandler(event:Event):void
{
if(category.selectedValue != null)
selectedValue = category.selectedValue;
filterGrid();
currentState = '';
}
private function poolFilter( ):void
{
/* if (poolSelected)
pool_ckb.selected = poolSelected;
filterGrid();
currentState = ''; */
}
private function filterGrid() :void
{
dataAr.filterFunction=myFilterFunction;
dataAr.refresh();
}
private function myFilterFunction(item:Object): Boolean
{
return(item.price >= sliderFromValue && item.price <=
sliderToValue)&&
(item.city == selectedCity || selectedCity == "All") &&
(item.location == selectedLocation || selectedLocation
== "All") &&
(item.category == category.selectedValue);
}
the onSliderChange function is used by the slider(with two thumbs) to filter
the array collection, cityChangeHandler and locationChangeHandler are used by
the combo boxes to filter the same array collection, categoryChangeHandler is
used by a radio group, the poolFilter function which doesn't work is meant to
be used by the checkbox to filter that's where i have the problem. when you
have the individual filters working you place them i one function which is
myFilterFunction to be used to filter the array collection. then you call the
myFilterFunction to be as the main filter function for the datagrid and also
refresh the datagrid once filtered. this is the filterGrid() function. hope
this helps you, am just an armature but that solution works 80%. hope there are
some flex gurus who can polish that up to make the checkbox filter work.