ViewStack и NavigatorContent

12 views
Skip to first unread message

Dmitry Bezverkhiy

unread,
Feb 8, 2012, 9:58:23 AM2/8/12
to ruFlex
Салют.

Подскажите, пожалуйста.

Задача обновлять и управлять отображением List'a находящегося в не активной вкладке.

Вот пример кода.

<mx:ViewStack id="viewStack" height="100%" width="100%" creationPolicy="all">
<s:NavigatorContent width="100%" height="100%" label="List1">
<s:List id="List1" borderVisible="false"
width="100%"
verticalScrollPolicy="on"
height="100%"
allowMultipleSelection="true"
dataProvider="{layers.list}"
dragEnabled="true"
dropEnabled="true"
dragMoveEnabled="true"
itemRenderer="List1Renderer"
dragComplete="onDragComplete(event)"
change="onChangeLayerList(event)"
creationComplete="onCreationComplete(event)">
</s:List>
</s:NavigatorContent>
<s:NavigatorContent width="100%" height="100%" label="List2">
<s:List id="List2" borderVisible="false"
width="100%"
verticalScrollPolicy="on"
height="100%"
dataProvider="{states}"
itemRenderer="List2Renderer"
change="onChangeHistoryList(event)">
</s:List>
</s:NavigatorContent>
</mx:ViewStack>

Не могу достучаться до айтемРендереров в не активной вкладке.
creationPolicy="All" не помогает. В dataGroup numChildren равен 1

Или можно как-то по другому? То есть я обновляю дата провайдер, но dataGroup в не активном состоянии не меняется.

Дмитрий Безверхий
флеш-технолог

Yuriy Yarovoy

unread,
Feb 8, 2012, 10:53:10 PM2/8/12
to ruf...@googlegroups.com
Добрый день, Дмитрий.

А какие именно задачи стоят по управлению айтем-рендерами в списке?

Просто само решение — откуда-то извне лезть и управлять отображением
элементов списка — выглядит не правильным с точки зрения дизайна
приложения. В правильном дизайне список просто должен получить на входе
данные для отображения (должен быть присвоен dataProvider), способ
отображения данных (либо задание класса IterRenderer-а, либо функции,
преобразующей данные в ItermRenderer) и уже в соответствии с этими
знаниями сам (!) отобразить данные как нужно.

--
Best wishes,
Yuriy Yarovoy

Dmitry Bezverkhiy

unread,
Feb 9, 2012, 3:07:36 AM2/9/12
to ruf...@googlegroups.com

> А какие именно задачи стоят по управлению айтем-рендерами в списке?

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

> Просто само решение -- откуда-то извне лезть и управлять отображением
> элементов списка -- выглядит не правильным с точки зрения дизайна
> приложения. В правильном дизайне список просто должен получить на входе
> данные для отображения (должен быть присвоен dataProvider), способ
> отображения данных (либо задание класса IterRenderer-а, либо функции,
> преобразующей данные в ItermRenderer) и уже в соответствии с этими
> знаниями сам (!) отобразить данные как нужно.

Спасибо, нужно будет пересмотреть подход к отображению.
Возможно можно будет все завязать на данные в дата провайдере.

Дмитрий Безверхий
флеш-технолог
Reply all
Reply to author
Forward
0 new messages