РЕДАКТИРОВАТЬ: После прочтения вопроса, я думаю, я вижу вашу проблему.
Когда вы применяете функцию фильтра к ArrayCollection, вы фактически не влияете на ArrayCollection.Flex создает копию ArrayCollection и помещает ее в «оболочку» и включает в себя только те записи, которые соответствуют вашему фильтру.Вот почему ваш сеттер никогда не вызывается.
Если вы вызовете ArrayCollection.length в отфильтрованной коллекции, он покажет количество отфильтрованных записей вместо общего количества записей, с которых вы начали.Если вы удалите функцию фильтра и вызовете метод refresh (), эта коллекция «обертки» будет удалена.
Вам не нужно делать ничего особенного, чтобы получить эту «обертку» копию ArrayCollection.Flex автоматически возвращает отфильтрованную / упаковочную копию коллекции всякий раз, когда вы используете исходную коллекцию ArrayCollection.
Эта ссылка содержит дополнительную информацию.