тег dataprovider работает в flex - PullRequest
       16

тег dataprovider работает в flex

0 голосов
/ 07 февраля 2011

привет, я новичок во флексе и пробовал пример, но ничего не получал

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="bookData.send()">
<mx:HTTPService id="bookData" url="/assets/books.xml"/>
<mx:DataGrid x="56" y="250" width="950" dataProvider= "{bookData.lastResult.books.stock}"/>
</mx:Application>

Выше мой mxml-файл, вот мои books.xml

<?xml version="1.0" encoding="iso-8859-1"?>
<books>
<stock>
<name>The Picasso Code</name>
<author>Dan Blue</author>
<category>Fiction</category>
<description>Cubist paintings reveal a secret society of people who really look like that</description>
</stock>
<stock>....

я думаю, что я делаю что-то не такв теге dataprovider причина в том, что когда я использую

dataProvider = "{d}"

, он возвращает сетку данных с объектом

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

что мне не хватает в вашем коде - это URL-запрос для вашего xml.Databindung и Dataprovider нуждаются в связи с базами данных всякий раз, когда новые данные вызываются из бэкэнда, а также в первый раз.

Вам необходимо преобразовать ваш xml из бэкэнда в xmlCollection.Сделайте вар Bindable.Имя вашей привязываемой XMLXollection - ваш поставщик данных.

BR Frank

0 голосов
/ 07 февраля 2011

Поставщик данных должен быть результатом resultEvent вашей книги HttpService.Вы должны использовать событие результата в теге HttpService.Например,

<mx:HTTPService id="bookData" url="/assets/books.xml" result="contentHandler(event)"/>   

            import mx.rpc.events.ResultEvent;  
            [Bindable] private var xmlListData:XMLList; 
            private function contentHandler(evt:ResultEvent):void{  
                xmlListData= evt.result.stock;
            } 

<mx:DataGrid x="56" y="250" width="950" dataProvider= "{xmlListData}"/>
...