Поиск коллекции во Flex - PullRequest
       10

Поиск коллекции во Flex

0 голосов
/ 10 сентября 2009

У меня есть коллекция во Flex, и я отсортировал ее по полю даты, поэтому самые последние элементы отображаются первыми в моем представлении.

Для этого я применил поле сортировки следующим образом:

var articleSort:Sort = new Sort();
articleSort.fields = [ new SortField('published', false, true), new SortField('id', true, true)];
articles.sort = articleSort;
articles.refresh();

Теперь я хочу иметь возможность использовать курсор для findFirst () в этой коллекции на основе идентификатора. Однако для того, чтобы сделать это, я также должен пройти через опубликованную дату в методе findFirst (). Это настоящая боль, потому что у меня нет опубликованной даты в то время (или это дорого).

articleCoursor.findFirst({ published: modelLocator.articles.getArticleById(event.newArticleId).published, id: event.newArticleId });

Как вы видите, мне нужно получить его из modelLocator в моем приложении, и, в основном, посмотреть на элемент ...

В идеале я хотел бы передать подстановочный знак для даты в функции FindFirst (), так как идентификатор - это единственное, что меня волнует при поиске. Тем не менее, похоже, что это Flex, я не могу этого сделать.

Другая опция, которая пришла мне в голову, - это прибегнуть к коллекции перед поиском, но это заставило бы мое представление повторно визуализировать (поскольку оно привязано к коллекции) в событии обновления коллекций. Плюс, кажется, довольно глупо прибегать к поиску.

В любом случае, любой совет по этому поводу был бы великолепен.

Спасибо

Rob

1 Ответ

0 голосов
/ 23 октября 2009

вы можете преобразовать свою коллекцию, не обновляя представление, если вы вызываете метод disableAutoUpdate () для коллекции, делаете свое дело, возвращаете его обратно и затем устанавливаете обратно с помощью enableAutoUpdate (). Или вы не можете использовать курсор и просто выполнить массив для каждого и сравнить свой идентификатор, чтобы найти то, что вы ищете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...