这次再次与数据提供者合作。
好吧,我一直在使用 Flex 进行一些培训,并且我已经进行了搜索,并且我设法通过 XML 数据填充了一个 ComboBox。它工作得很好,他从 XML 中获取每个项目的 LabelField,但是与他没有从 XML 中获取的每个项目相关联的 ID。
代码:
<?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</id>
)。
我现在是因为我放置了一个可绑定到 ComboBox.selectedIndex 的标签
<mx:Label x="121" y="403" text="{pais.selectedIndex}"/>
正如您还看到的pais.data = "id";
,根据我在网上看到的示例,它应该包括从 XML 到 ComboBox 中每个项目 NOME 的 ID。
我是 Flex 的新手,所以可能没有以正确的方式表达事物。
任何帮助表示赞赏。谢谢。