Alberto, Pelo que eu entendi do que você quer, qual seria o problema de fazer assim:
<?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: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}" 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" text="{dg.selectedItem.FONE}"/> <mx:TextInput id="EMAIL" x="10" y="69" color="#000000" text="{dg.selectedItem.EMAIL}"/> <mx:TextInput id="NOME" x="10" y="9" color="#000000" text="{dg.selectedItem.NOME}"/> </mx:Canvas> </mx:Panel> </mx:Application> []'s Beck Novaes On 24 maio, 13:17, Alberto Ferreira <[EMAIL PROTECTED]> wrote: > 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 -~----------~----~----~----~------~----~------~--~---
