2011-02-07 3 views
-2

хаи им нового в прогибается и пытается пример, но получить ничегоDataProvider тег не работает в гибком

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

он возвращает datagrid с объектом

+1

-1 Вы бы лучше начать с этим вопросом. Вставьте правильный код и задайте конкретный вопрос. – Ryan

ответ

0

Дат-провайдер должен быть вашим инвентарным счетом HttpService bookData. Вы должны использовать событие результата в теге 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}"/> 
0

Что мне не хватает в вашем коде, это url-request vor your xml. Databindung и Dataprovider нуждаются в обмене событиями, когда новые данные вызывают из бэкэнда, так и в первый раз.

Что вам нужно, так это преобразовать xml из backend в xmlCollection. Сделайте var Bindable. Имя вашего связуемого XMLXollection - ваш Dataprovider.

BR Frank