Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   биндинг массива (http://www.flasher.ru/forum/showthread.php?t=182572)

gagaga 27.07.2012 13:52

биндинг массива
 
Код:

<s:ButtonBar>
      <s:dataProvider>
            <mx:ArrayCollection source="[{var1}, 'text', {var2}]" />
      </s:dataProvider>
</s:ButtonBar>

как сделать такое но только чтобы работало?

Добавлено через 2 минуты
в данном случае биндится нормально, но массив почему-то преобразовывается в строку

Silicium 27.07.2012 14:09

Цитата:

массив почему-то преобразовывается в строку
так и должно быть. Попробуй так:
Код AS3:

<mx:ArrayCollection source="{[{var1}, 'text', {var2}]}" />


gagaga 27.07.2012 14:15

ошибка

Добавлено через 2 часа 1 минуту
вопрос по прежнему актуален

wvxvw 27.07.2012 16:44

Код AS3:

<?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>

Но если честно, то лучше биндинги не использовать, код будет проще и понятнее остальным, да и самому искать в нем ошибки будет проще.

gagaga 27.07.2012 17:17

у меня эти переменные выводятся в разных компонентах

Добавлено через 4 минуты
Код AS3:

<s:ButtonBar dataProvider="{new ArrayCollection([var1, 'text', var2])}" />

- это то что надо

Silicium 27.07.2012 18:26

Точно, он же не массив а IList принимает.


Часовой пояс GMT +4, время: 03:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.