将数据从Web服务绑定到自定义Flex组件

时间:2011-07-27 19:10:54

标签: flex flex4

我正在使用flash builder 4 ..我想问一些事情......如何将数据绑定到flex中的自定义列表组件......

我已经尝试将数据从webservice绑定到flex中的标准datagrid组件,并且它完美地工作......这是我绑定到datagrid的代码..

<mx:DataGrid includeIn="LobbyPage" x="30" y="319" id="dataGrid" creationComplete="dataGrid_creationCompleteHandler(event)" dataProvider="{TakeUserResult4.lastResult}">
    <mx:columns>
        <mx:DataGridColumn headerText="Username" dataField="Username"/>
        <mx:DataGridColumn headerText="Password" dataField="Password"/>
    </mx:columns>
</mx:DataGrid>

现在我坚持这个..我有自定义列表,就像我在下面写的那样..

<s:List skinClass="components.DataList4" x="18" y="611" id="listPlayer">

<s:ArrayCollection>

  <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR"   
        text2="Description of the flavor goes here"/>

  <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR" 
        text2="Description of the flavor goes here"/>

  <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR" 
        text2="Description of the flavor goes here"/>

</s:ArrayCollection>

</s:List>

now..how将数据绑定到webservice的“image1”,“text1”,“text2”? 谁想要分享这些东西的经验并给我举例?提前感谢.. 顺便说一下......为我糟糕的英语服务:)。

1 个答案:

答案 0 :(得分:2)

为列表提供一个dataProvider(将数组集合包装在数据提供程序标记中),然后指定itemRenderer,以便列表知道如何呈现数据。

<s:List id="listPlayer" width="200" height="500">
                        <s:dataProvider>
                            <s:ArrayCollection>
                                <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR"   
                                           text2="Description of the flavor goes here"/>

                                <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR" 
                                           text2="Description of the flavor goes here"/>

                                <fx:Object image1="@Embed('/assets/images/test aj/basil.png')" text1="FLAVOR" 
                                           text2="Description of the flavor goes here"/>
                            </s:ArrayCollection>
                        </s:dataProvider>
                        <s:itemRenderer>
                            <fx:Component>
                                <s:ItemRenderer>
                                    <s:HGroup>
                                        <s:Image source="{data.image1}" />
                                        <s:Label text="{data.text1}" fontWeight="bold"/>
                                        <s:Label text="{data.text2}" />
                                    </s:HGroup>
                                </s:ItemRenderer>
                            </fx:Component>
                        </s:itemRenderer>
                    </s:List>