→ Пошук по сайту       Увійти / Зареєструватися
Знання Adobe Flex — технологія швидкої розробки RIA

Використання E4X у прив’язці даних

 Flex  RIA  Flash

Використання E4X у прив’язці даних

Представлення прив’язки даних у фігурних дужках або за допомогою тегу може містити ECMAScript для XML (E4X)-представлення, коли джерелом прив’язки є придатна до прив’язки властивість типу XML. Не можна використовувати E4X при визначенні прив'язки даних за допомогою BindingUtils.bindProperty () або методу BindingUtils.bindSetter ().

Використання представлення E4X у фігурних дужках

Вираження прив’язки у фігурних дужках автоматично викликає метод ToString (), коли адресатом є властивість String. Представлення прив’язки у фігурних дужках або за допомогою тегу може містити ECMAScript для XML (E4X)-представлення, коли джерелом прив’язки є придатна до прив’язки властивість типу XML; для отримання додаткової інформації див. Using an E4X expression in an tag.

В коді в наступному прикладі є три представлення прив’язки у фігурних дужках, які прив’язують дані з об’єкту XML. Перше використовує позначення . (dot -«точка»), друге використовує позначення .. (dot dot -«точка точка» ), а третє — позначення || (or – «або»).

<?xml version="1.0"?>
<!--binding/E4XInBraces.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[
        
            [Bindable]
            public var xdata:XML = 
                <item id = "3456">
                    <description>Big Screen Television
                    <price>1299.991
                </item>
                <item id = "56789">
                    <description>DVD Player
                    <price>399.99
                    <quantity>1
                </item>
            </order>;
        ]]>
    </mx:Script>

    <mx:Label text="Using .. notation."/>
    <!--Inline databinding will automatically call the 
        toString() method when the binding destination is a string. -->
    <mx:List width="25%" 
        dataProvider="{xdata..description}"/>
    
    <mx:Label text="Using . notation."/>
    <mx:List width="25%" 
        dataProvider="{xdata.item.description}"/>

    <mx:Label text="Using || (or) notation."/>
    <mx:List width="25%" 
        dataProvider="{xdata.item.(@id=='3456'||@id=='56789').description}"/>
</mx:Application>

Нижче приводиться SWF-файл для попереднього прикладу:

Використання представлення E4X в тезі

На відміну від представлення E4X у фігурних дужках, при використанні представлення E4X в тезі , потрібно явно викликати метод toString (), коли адресатом прив’язки є властивість String.

В коді наступного прикладу є три представлення прив’язки у фігурних дужках, які прив’язують дані з об’єкту XML. Перше використовує позначення . (dot -«точка»), друге використовує позначення .. (dot dot -«точка точка» ), а третє — позначення || (or – «або»).

<?xml version="1.0"?>
<!--binding/E4XInBindingTag.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    width="600" height="900">

    <mx:Script>
        <![CDATA[
            [Bindable]
            public var xdata:XML = 
                <order>
                    <item id = "3456">
                        <description>Big Screen Television
                        <price>1299.991
                    </item>
                    <item id = "56789">
                        <description>DVD Player
                        <price>399.99
                        <quantity>1
                    </item>
                </order>        
        ]]>
    </mx:Script>

    <mx:Label text="Using .. notation."/>

    <!--This will update because what is 
        binded is actually the String and XMLList. -->
    <mx:List width="75%" id="txts"/>
    <mx:Binding 
        source="xdata..description" 
        destination="txts.dataProvider"/>

    <mx:Label text="Using . notation."/>
   <mx:List width="75%" id="txt2s"/>
    <mx:Binding 
        source="xdata.item.description" 
        destination="txt2s.dataProvider"/>

    <mx:Label text="Using || (or) notation."/>
    <mx:List width="75%" id="txt3s"/>
    <mx:Binding 
        source="xdata.item.(@id=='3456'||@id=='56789').description" 
        destination="txt3s.dataProvider"/>
</mx:Application>

Нижче приводиться SWF-файл для попереднього прикладу:

загрузка...
Сторінки, близькі за змістом