Просмотр полной версии : Как заполнить данными ComboBox из результата HTTPService
Пожалуйста подскажите как заполнить данными ComboBox из результата HTTPService.
есть запрос:
<mx:HTTPService id="userAlboms" resultFormat="e4x" url="{ 'http://localhost/flex_fotoalbom/data/albom.xml'}" useProxy="false" method="POST">
</mx:HTTPService>
.............
<mx:ComboBox x="22" y="10" width="604" change="userRequest.send();">
<mx:prompt>Выберите альбом</mx:prompt>
<mx:Object label="{ userAlboms.lastResult.albom}" data="{ userAlboms.lastResult.albom}"/>
</mx:ComboBox>
вопрос в том что не могу правильно заполнить ComboBox тоесть присвоить
значения label и data , в итоге все отображается неправильно
это возвращаемый XML
<alboms>
<albom data="1" label="Первый альбом"/>
<albom data="2" label="Второй альбом"/>
<albom data="3" label="Третий альбом"/>
</alboms>
прийму любые варианты решения проблемы , а то уже второй день бьюсь
это написано на flex 2. если это имеет значение
Открыть справку и найти примеры сложно?
И зачем код оформлять тегом HTML? Неужели прекрасно видно, что написано?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[Bindable]
private var myDP:XMLList;
private function initApp():void
{
userAlboms.send();
}
private function onResult(event:ResultEvent):void
{
myDP = event.result.albom;
}
]]>
</mx:Script>
<mx:HTTPService id="userAlboms" result="onResult(event)" resultFormat="e4x" useProxy="false" url="test.xml"/>
<mx:ComboBox prompt="Выберите альбом" dataProvider="{myDP}" id="cb_albom" labelField="@label"
change="Alert.show(myDP[cb_albom.selectedIndex].@data)"/>
</mx:Application>
baron27 - спасибо.
__etc - еслибы мог найти в документации то не спрашивал бы
__etc - еслибы мог найти в документации то не спрашивал бы
Ну как же? Про dataProvider, HTTPService информации никакой по-вашему?
http://livedocs.adobe.com/flex/2/langref/mx/rpc/http/mxml/HTTPService.html в конце пример. Изменить его под ComboBox, я думаю, не должно представлять никакой сложности.
тут линкой поделились
http://gorbatov.blogspot.com/2007/03/e4x.html
Ну как же? Про dataProvider, HTTPService информации никакой по-вашему?
http://livedocs.adobe.com/flex/2/langref/mx/rpc/http/mxml/HTTPService.html в конце пример. Изменить его под ComboBox, я думаю, не должно представлять никакой сложности.
Если имеется в виду этот кусок кода
<mx:DataGrid id="dgPosts" height="50%" width="75%"
dataProvider="{feedRequest.lastResult.rss.channel.item}">
<mx:columns>
<mx:DataGridColumn headerText="Posts" dataField="title"/>
<mx:DataGridColumn headerText="Date" dataField="pubDate"/>
</mx:columns>
</mx:DataGrid>
то какраз я и не смог его преобразовать.
тут линкой поделились
http://gorbatov.blogspot.com/2007/03/e4x.html
Спасибо.
После того как мне ответил baron27 я увидел эту ссылочку в его подписи
Вместо HTML надо использовать тег CODE, а не вообще не оформлять код.
Странно, от того примера прийти к этому, по-моему, совсем не представляет сложности:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="userAlboms.send()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
]]>
</mx:Script>
<mx:HTTPService id="userAlboms" resultFormat="e4x" useProxy="false" url="album.xml"/>
<mx:ComboBox prompt="Выберите альбом" dataProvider="{userAlboms.lastResult.albom}" id="cb_albom" labelField="@label" change="Alert.show(userAlboms.lastResult.albom[cb_albom.selectedIndex].@data)"/>
</mx:Application>
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.