2011-02-07 43 views
-2

海IM在新的弯曲,并试图例子,但是却一无所获数据提供程序标签是工作在柔性

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

它返回对象的数据网格

+1

-1你最好到这个问题开始。输入正确的代码,并提出具体问题。 – Ryan 2011-02-07 15:45:32

回答

0

数据提供者必须是您的HttpService bookData的resultEvent的股票。你应该在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你的xml。 无论何时从后端调用新数据时,Databindung和Dataprovider都需要一个事件库通信,因此也是第一次。

您需要将您的xml从后端转换为xmlCollection。使var可绑定。 可绑定XMLXollection的名称是您的Dataprovider。

BR 弗兰克