Flex 3 combobox: источник данных фильтра XMLListCollection
(Я использую Cairngorm) У меня есть выпадающий список, который отображает элементы из коллекции XMLListCollection, которая находится в моей модели. Я хочу просматривать только те элементы (XML), чьи свойства "sent" имеют значение false.. например, item.sent == 'false'. Этот фильтр должен применяться только к этому конкретному списку, а не ко всему, что связано с источником XMLListCollection. И, конечно, он должен обновлять и обновлять фильтр, если источник меняется.
Как мне это сделать? Я пытаюсь использовать filterFunction, но не понимаю, как это работает... спасибо
1 ответ
На самом деле, вам не нужно копировать все данные, как говорит Кристоф. Вы можете создать другой ListCollectionView
который на самом деле является представлением некоторого списка и применяет к нему фильтр. Так что если xmlListCollection
это ваша коллекция, вы можете попробовать следующий код:
var listView:ListCollectionView = new ListCollectionView(xmlListCollection.list);
listView.filterFunction = someFunction;
listView.refresh();
listView
должен быть всегда синхронизирован с вашей коллекцией, если вы не поменяете местами xmlListCollection
источник или список.