Я бы предложил использовать свойство filterFunction
вашего провайдера данных.По сути, вы можете предоставить своему поставщику данных функцию, которая будет определять, исключен или нет данный элемент в коллекции ArrayCollection (если элемент исключен, он не будет отображаться в AdvancedDataGrid, по сути, делая его «невидимым»).Документы для filterFunction
можно найти здесь .
. Тогда я бы посоветовал установить флажок для свойства объекта в поставщике данных, который затем используетсяВаша функция фильтра для включения / исключения строк.Ниже следует некоторый (очень грубый) псевдокод:
private function checkboxClickHandler( event:MouseEvent ):void
{
/*
Based on the MouseEvent, determine the row
in the data grid you're dealing with
*/
myDataProvider[someIndex].checkboxFlag = myCheckBox.selected;
myDataProvider.refresh(); // calling refresh() re-applies the filter to
// account for changes.
}
private function myDataProviderFilterFunction( item:Object ):Boolean
{
// assuming we want the item to be filtered if checkboxFlag is true
return !item["checkboxFlag"];
}