Невозможно обновить элемент управления деревом с помощью новых ветвей после успешного вызова RemoteObject

Я пытаюсь заполнить компонент mx: tree значениями, которые я получаю от BlazeDS. Возвращенные данные от BlazeDS в порядке - это ArrayCollection объектов значений папки.

Мне было поручено использовать Cairngorm для этого проекта. Я новичок в Flex и Cairngorm. Согласно ограниченной документации, которую я прочитал в Интернете, я должен заполнить модель данными, поэтому я вставил туда коллекцию массивов.

Я застрял в попытке обновить компонент дерева. Я чувствую, что мне нужен способ уведомить компонент-контейнер для дерева о том, что данные (то есть подпапки) доступны в модели. Я надеялся, что можно будет запустить функцию в компоненте контейнера, чтобы добавить вложенные папки в качестве дочерних для выбранного узла (я мог бы выбросить это на модель до вызова удаленного объекта, я думаю), затем запустить tree.invalidateList () и tree.validateNow (). Любые идеи?


person ukdavo    schedule 02.02.2010    source источник


Ответы (1)


Я нашел способ сделать это, хотя не уверен, что это рекомендуемый способ.

У меня есть класс Command, чтобы прикрепить коллекцию ArrayCollection VO папок к свойству под названием «подпапки» модели. Я использовал ChangeWatcher в родительском контейнере дерева, чтобы наблюдать за свойством модели «подпапки» и запускать функцию для обновления узла дерева, когда это необходимо.

Если кто знает способ получше, скажите, пожалуйста. Я надеялся найти поваренную книгу Кэрнгорма или статью с лучшими практиками, но я еще не наткнулся на такую ​​вещь. Документация по Cairngorm кажется довольно скудной - я удивлен, что это самый популярный фреймворк Flex, учитывая этот факт.

person ukdavo    schedule 02.02.2010