我有一个带有自定义项呈示器的数据组,我将它从一个停止工作的http服务绑定到XML。
我的XML:
<SDLIST>
<chartlist>
<reportname>FACTORY STATUS</reportname>
<reportimage>file:/D:/Work/RapidReport/Images/Charts/Vertical-Linear-Gauges.png</reportimage>
</chartlist>
<chartlist>
<reportname>FACTORY STATUS</reportname>
<reportimage>file:/D:/Work/RapidReport/Images/Charts/Vertical-Linear-Gauges.png</reportimage>
</chartlist>
然后我的数据组:
<s:DataGroup x="10" y="42" width="696" height="414" itemRenderer="myComponents.ChartListComp" dataProvider="{new XMLListCollection(XML(getSpeedDialList.lastResult).SDLIST.charlist)}">
我的Http服务:
<mx:HTTPService resultFormat="e4x" id="getSpeedDialList" url="{serverURL}/Reporting/GetSpeedDial.xml" useProxy="false" method="POST" fault="Alert.show('There has been an a problem with the connection.\nPlease check your internet connnection and try again.' + getSpeedDialList.url ,'Connection Error')" showBusyCursor="true" >
我的组件使用:
{data.reportname}
我会赞成任何帮助,刚从flex 3向上移动我不知道这是什么错过的行为。
提前感谢您的帮助。
答案 0 :(得分:0)
看起来<SDLIST>
是您的根标记,在这种情况下,getSpeedDialList.lastResult
已指向该节点 - 您不应在e4x查询中明确提及。
<s:DataGroup x="10" y="42" width="696" height="414"
itemRenderer="myComponents.ChartListComp"
dataProvider="{getSpeedDialList.lastResult.charlist}">
你确实在创作完成或某个地方打电话给getSpeedDialList.send()
,不是吗?
答案 1 :(得分:0)
我得到了它的工作。
答案是设置resultFormat =“e4x”然后使用{new XMLListCollection(XMLList(getSpeedDialList.lastResult).chartlist)}
问题似乎与数据组期望列表有关。
但是,谢谢Amarghosh指出E4X第一个节点被忽略的行为和 使用数据组注释时,Adobe Flex SDK团队的Alex Harui用于XML列表集合。