PDA

Просмотр полной версии : как использовать Repeater в <mx:State>


Reijii
13.10.2006, 18:06
Всем доброго дня,

вопрос такого плана,
решил использовать рипитер в AddChild, но получается так что компоненты то добавляются, но абсолютно не правильно, подскажите где ошибся, пожалуйста.
вот к примеру код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>
<![CDATA[
[Bindable]
private var dp:Array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
]]>
</mx:Script>



<mx:states>
<mx:State name="test">
<mx:AddChild relativeTo="{aa}" >
<mx:Repeater id="oo" dataProvider="{ dp }" >
<mx:Button label="{ oo.currentItem }"/>
</mx:Repeater>
</mx:AddChild>
</mx:State>
</mx:states>

<mx:Panel width="400" height="400" click="{currentState='test'}">
<mx:VBox id="aa">

</mx:VBox>
</mx:Panel>

</mx:Application>

Nirth
13.10.2006, 18:12
Когда вставляю твой код у меня ошибка

Severity Description Resource In Folder Location Creation Time Id
2 Type was not found or was not a compile-time constant: repeater. [Generated code (use -keep to save): Path: repeater-generated.as, Line: 138, Column: 14] repeater.mxml repeater 13 Октябрь 2006 г. 16:13:05 2035


самое смешное что не на одной строке, нету подсветки.

Reijii
13.10.2006, 18:18
ужос... у меня ошибок нет ((
но не суть, попробуй если есть время и желание, такой код, или просто попробуй использовать репеатер в AddChild :(

Nirth
13.10.2006, 18:40
я не могу юзать репитер в стэйтах..хм. мм...

Reijii
13.10.2006, 18:50
я не могу юзать репитер в стэйтах..хм. мм...
как совсем ? ( прикольно, у меня стандартный flex2 проект не добавлял никаких swc :( кхм.. может билдер, того... повесился :(

Nirth
13.10.2006, 19:00
Плагин или станд элон?

Reijii
13.10.2006, 19:07
Плагин или станд элон?
у меня стандалоне...
и на repeater не ругается :(

silin
13.10.2006, 21:54
не знаю в чем тут дело, но если добавлять вместе с боксом, то проходит
<mx:states>
<mx:State name="test">
<mx:AddChild >
<mx:VBox id="aa">
<mx:Repeater id="oo" dataProvider="{ dp }" >
<mx:Button label="{ oo.currentItem }" />
</mx:Repeater>
</mx:VBox>
</mx:AddChild>
</mx:State>
</mx:states>

<mx:Panel width="400" height="400" click="{currentState='test'}">
</mx:Panel>

Reijii
16.10.2006, 18:29
хм.. забавно.. а если сделать так

<mx:states>
<mx:State name="test">
<mx:AddChild relativeTo="{aa}">
<mx:Repeater id="oo" dataProvider="{ dp }" >
<mx:Button label="{ oo.currentItem }" />
</mx:Repeater>
</mx:AddChild>
</mx:State>
</mx:states>

<mx:Panel width="400" height="400" id="ff" click="{currentState='test'}">
<mx:VBox id="aa">
</mx:VBox>
</mx:Panel>


то результат печальный, да и не хочется использовать лишний контайнер, особенно после того как начитался в Build and Deploy, про оптимизацию :(