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 источник или список.

Другие вопросы по тегам