这次再次回到与数据提供者一起工作。
我用flex做了一些培训,我已经搜索过了,我设法通过XML数据填充了一个组合框。它工作得很好,他从XML中获取每个项目的labelfield,但是与每个项目相关联的ID随后从XML中获取。
代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="355" height="465" creationComplete="getPaises.send();"
xmlns:ns1="com.*" title="Perfil" fontWeight="normal">
<mx:HTTPService id="getPaises" url="com-handler/paises.php" result="paisesHandler()"/>
<mx:Script>
<![CDATA[
private function paisesHandler():void
{
pais.dataProvider = getPaises.lastResult.paises.pais;
pais.data = "id";
pais.labelField = "nome";
}
]]>
</mx:Script>
<mx:ComboBox x="121" y="328" width="200" id="pais">
</mx:ComboBox>
</mx:TitleWindow>
现在,来自PHP的输出XML:
<?xml version="1.0" encoding="utf-8"?>
<paises>
<pais>
<id>1</id>
<nome>Portugal</nome>
</pais>
<pais>
<id>2</id>
<nome>Espanha</nome>
</pais>
</paises
好吧,这就是它所发生的,我确实从XML中获取国家名称
(
<nome></nome>
)但他没有把相关的身份证(
<id</id>
)
现在,因为我放置了一个可绑定到ComboBox.SelectedIndex的标签
<mx:Label x="121" y="403" text="{pais.selectedIndex}"/>
正如你所看到的,我曾经
pais.data = "id";
根据我在Web上看到的示例,它应该包括从XML到组合框中每个项目名称的ID。
我对flex很陌生,所以可能表达方式不对。
感谢您的帮助。谢谢。