Используйте ArrayCollection в качестве dataProvider и назначьте функцию фильтрации для его свойства filterFunction:
var provider:ArrayCollection;
В той части, где вы создаете экземпляр массива, присвойте ему функцию filterFunction:
provider.filterFunction = myFilteringFunction;
С кодом функции фильтра, подобной этой:
private function myFilteringFunction(item:ObjectTypeInYourArray) : Boolean {
var show:Boolean;
if(item.completed == checkBox1.checked &&
item.onHold == checkBox2.checked){
show = true;
}
return show;
}
Это пример с двумя флажками.Тип значения, присвоенного атрибутам complete и onHold вашего объекта, может быть не булевым, поэтому вам придется каким-то образом преобразовать их, прежде чем сравнивать их с состоянием флажков, но я думаю, что вы поняли.
По существу, функция filterFunction, которую вы передаете своей коллекции массивов, применяется к каждому из элементов внутри и возвращает true или false в зависимости от вашего кода внутри (например, проверьте, имеет ли объект правильные значения для его свойств).Когда true
значения отображаются
В событиях изменения ваших флажков вы обновляете dataProvider:
provider.refresh();
Надеюсь, что поможет