Olá Novaes, sou iniciante no Flex, por isso não sei qual a melhor maneira de trabalhar com os XMLs, para falar a verdade não sei nem direito o que é E4X. Se vc puder me dar uma ajuda para que eu trabalhe com tudo que o Flex oferece fico agradecido. Segue abaixo o fonte, lembrando que a função xmltoForm é genérica, eu posso usá-la em qualquer formulário sem me preocupar com nomes, só tenho que colocar o id = ao nome do campo na tabela. um abraço
<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:XMLList id="presidentes"> <presidente> <NOME>Marechal Deodoro da Fonseca</NOME> <FONE>51 1233-1232</FONE> <EMAIL>[EMAIL PROTECTED]</EMAIL> </presidente> <presidente> <NOME>Campos Salles</NOME> <FONE>41 1233-1341</FONE> <EMAIL></EMAIL> </presidente> <presidente> <NOME>Joao Batista Figueiredo</NOME> <FONE>21 1341-7474</FONE> <EMAIL>[EMAIL PROTECTED]</EMAIL> </presidente> <presidente> <NOME>Luiz Inacio</NOME> <FONE>11 1238-8947</FONE> <EMAIL>[EMAIL PROTECTED]</EMAIL> </presidente> </mx:XMLList> <mx:Script> <![CDATA[ import mx.controls.Alert; private function clickRegistro():void { if (dg.selectedIndex >= 0) xmlToForm(XML(dg.selectedItem)); } private function xmlToForm(resultado:XML):void { var obj:Object; for (var iXml:int = 0; iXml < resultado.elements().length(); iXml ++) { if (cvForm.getChildByName(resultado.elements() [iXml].name().toString()) != null) { obj = cvForm.getChildByName(resultado.elements() [iXml].name().toString()); if (obj.className == 'TextInput') (obj as TextInput).text = resultado.elements() [iXml].toString(); //if (obj.className == 'ComboBox') // (obj as ComboBox).selectedIndex = indiceCombo(parentDocument.UFs, resultado.children() [iXml].toString()); //if (obj.className == 'CheckBox') //{ // if (resultado.children()[iXml].toString() == '-1') // (obj as CheckBox).selected = true; // else // (obj as CheckBox).selected = false; //} } } } ]]> </mx:Script> <mx:Panel title="DataGrid - preenche campos automaticamente" height="100%" width="100%" paddingTop="10" paddingLeft="10" paddingRight="10" borderColor="#0080c0" borderAlpha="1.0" color="#ffffff" cornerRadius="11"> <mx:DataGrid id="dg" width="100%" height="161" rowCount="5" dataProvider="{presidentes}" itemClick="clickRegistro();" color="#000000"> <mx:columns> <mx:DataGridColumn dataField="NOME" headerText="Nome"/ > <mx:DataGridColumn dataField="FONE" headerText="Fone"/ > <mx:DataGridColumn dataField="EMAIL" headerText="email"/> </mx:columns> </mx:DataGrid> <mx:Canvas width="345" height="101" id="cvForm"> <mx:TextInput id="FONE" width="160" x="10" y="39" color="#000000"/> <mx:TextInput id="EMAIL" x="10" y="69" color="#000000"/> <mx:TextInput id="NOME" x="10" y="9" color="#000000"/> </mx:Canvas> </mx:Panel> </mx:Application> --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
