De retour cette fois en travaillant avec des fournisseurs de données.Combobox Dataprovider - Obtient labelField uniquement à partir de XML et non l'ID associé
Eh bien, je faisais un peu de formation avec Flex, et j'ai cherché, et j'ai réussi à obtenir un ComboBox peuplé de données XML. Cela fonctionne plutôt bien, il obtient le LabelField pour chaque élément de XML, mais l'ID associé à chaque élément qu'il n'a pas alors du XML.
code:
<?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>
Et maintenant, le XML ouput de PHP:
<?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
Eh bien, c'est ce qu'il se passe, je n'obtient les noms de pays du XML (<nome></nome>
) mais il ne place pas l'ID associé (<id</id>
).
je maintenant que parce que je posai une étiquette bindable au ComboBox.selectedIndex
<mx:Label x="121" y="403" text="{pais.selectedIndex}"/>
Et comme vous le voyez aussi je l'ai utilisé pais.data = "id";
que, selon les exemples que j'ai vu dans le web, il devrait inclure les ID de XML à chaque élément NOME dans le ComboBox.
Je suis nouveau à Flex, donc probablement n'a pas exprimé les choses de la bonne façon.
Toute aide est appréciée. Merci.
Je suis tellement aveugle .. J'ai essayé tout avec .selectedItem, .selectedIndex ... Jamais rappelé de cela: S. Merci mon ami. –
Merci plus simple. PS: {XML (getPaises.lastResult) .pais} ne fonctionnait pas cela fonctionnait de cette façon: {(getPaises.lastResult) .paises.pais}. Encore merci. –
a édité le message pour le refléter :) – Amarghosh