Просмотр полной версии : биндинг массива
<s:ButtonBar>
<s:dataProvider>
<mx:ArrayCollection source="[{var1}, 'text', {var2}]" />
</s:dataProvider>
</s:ButtonBar>
как сделать такое но только чтобы работало?
Добавлено через 2 минуты
в данном случае биндится нормально, но массив почему-то преобразовывается в строку
Silicium
27.07.2012, 14:09
массив почему-то преобразовывается в строку
так и должно быть. Попробуй так:
<mx:ArrayCollection source="{[{var1}, 'text', {var2}]}" />
ошибка
Добавлено через 2 часа 1 минуту
вопрос по прежнему актуален
<?xml version="1.0" encoding="utf-8"?>
<!-- ArrayCollectionInitializationExample -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<fx:Declarations>
<fx:String id="string1">String 1</fx:String>
<fx:String id="string2">String 2</fx:String>
<s:ArrayCollection id="provider">
<s:source>
<fx:Array>
<fx:String id="var0">variable #0</fx:String>
<fx:String id="var1">variable #1</fx:String>
<fx:String id="var2">variable #2</fx:String>
</fx:Array>
</s:source>
</s:ArrayCollection>
</fx:Declarations>
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<s:List dataProvider="{provider}"/>
<s:List dataProvider="{new ArrayCollection(['variable #0', 'variable #1', 'variable #2'])}"/>
<s:List>
<s:dataProvider>
<s:ArrayCollection source="{[string1, 'literal string', string2]}"/>
</s:dataProvider>
</s:List>
</s:Application>
Но если честно, то лучше биндинги не использовать, код будет проще и понятнее остальным, да и самому искать в нем ошибки будет проще.
у меня эти переменные выводятся в разных компонентах
Добавлено через 4 минуты
<s:ButtonBar dataProvider="{new ArrayCollection([var1, 'text', var2])}" /> - это то что надо
Silicium
27.07.2012, 18:26
Точно, он же не массив а IList принимает.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.