为什么可以';我不能将这个xml绑定到DataGrid吗?
我请求一些XML和HTTP服务,如下所示:为什么可以';我不能将这个xml绑定到DataGrid吗?,xml,actionscript-3,apache-flex,datatable,mxml,Xml,Actionscript 3,Apache Flex,Datatable,Mxml,我请求一些XML和HTTP服务,如下所示: <s:HTTPService id="flickrCall" url="{api_request}" resultFormat="e4x" result="Alert.show('Success');" fault="Alert.show('error');"/> <rsp stat="ok"> <photos page="1" pages="46" perpage="100" total="4501">
<s:HTTPService id="flickrCall" url="{api_request}" resultFormat="e4x" result="Alert.show('Success');" fault="Alert.show('error');"/>
<rsp stat="ok">
<photos page="1" pages="46" perpage="100" total="4501">
<photo id="7583616364" owner="92677738@N00" secret="17ce853221" server="8421" farm="9" title="Jack White iii" ispublic="1" isfriend="0" isfamily="0"/>
<photo id="7515807120" owner="47494725@N07" secret="66fcf2cfd5" server="7137" farm="8" title=".- / -.. ..- -.. . / .- - / .- .--. .--. .-.. . -... . . ..." ispublic="1" isfriend="0" isfamily="0"/>
<photo id="7465794324" owner="73420073@N07" secret="dd42ea30f0" server="7254" farm="8" title="Project 366 175: June 24th" ispublic="1" isfriend="0" isfamily="0"/>
...
</photos>
</rsp>
...
我尝试将其绑定到如下数据网格:
<s:DataGrid id="flickrFotoCollection" width="100%" dataProvider="{flickrCall.lastResult.photo}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="@id"/>
<s:GridColumn dataField="@title"/>
<s:GridColumn dataField="@owner"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
<s:DataGrid dataProvider="{ new XMLListCollection(flickrCall.lastResult.photos.photo)}">
但是,即使请求成功,也没有显示任何内容。那么:
dataProvider="{flickrCall.lastResult.photos}"
这将向网格发送一组标记。数据提供程序应该是一个XMLListCollection,如下所示:
<s:DataGrid id="flickrFotoCollection" width="100%" dataProvider="{flickrCall.lastResult.photo}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="@id"/>
<s:GridColumn dataField="@title"/>
<s:GridColumn dataField="@owner"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
<s:DataGrid dataProvider="{ new XMLListCollection(flickrCall.lastResult.photos.photo)}">
您是否已将HTTP服务的结果格式设置为e4x
?是的,已将其添加到问题中。两次猜测dataProvider=“{flickrCall.lastResult.photos.photo}”或dataProvider=“{flickrCall.lastResult..photo}”