Flex 3: вопрос об условных выражениях для повторителя - PullRequest
0 голосов
/ 12 июля 2011

У меня есть XML-файл с датой начала и продолжительностью проекта ... Я использую повторитель для загрузки каждого проекта.Экран пользователей показывает только 2 недели одновременно.Я хотел бы сделать так, чтобы, если проект не попал в течение двух недель на экране, проект не был загружен.Я мог бы сделать это, перебирая XML и находя правильные проекты для загрузки, и помещая их в коллекцию массивов, но есть кнопка «дата перемещения», которая позволяет пользователю изменить показанные две недели.После того, как две недели будут изменены, мне понадобятся проекты, которые вписываются в это новое двухнедельное окно.

В настоящее время мой ретранслятор выглядит так:

<mx:Repeater id="projectRP" dataProvider="{projectsHttp.lastResult.project}" recycleChildren="true">
    <Block:project id="wholeProject"
        dbID="{Number(projectRP.currentItem.dbID)}"
        projectID="{projectRP.currentIndex}"
        workingTitle="{projectRP.currentItem.workingTitle}"
        projectTitle="{projectRP.currentItem.projName}"
        startDate="{textToDate(projectRP.currentItem.startDate)}"
        projectPositions="{XML(projectRP.currentItem.positions)}"
    />
</mx:Repeater>

Любая помощь будетс благодарностью!

1 Ответ

0 голосов
/ 12 июля 2011

Вы не можете сделать это с ретранслятором, и я думаю, что мы уже несколько раз говорили вам, прежде чем не использовать ретранслятор. Во всяком случае, фильтруйте данные и либо добавляйте проект во время выполнения, либо используйте какой-нибудь список.

Если вы используете список, фильтр будет работать автоматически. Если вы используете добавление во время выполнения, вам нужно прослушать событие изменения коллекции в ArrayCollection и выполнить свой собственный алгоритм.

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