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
-~----------~----~----~----~------~----~------~--~---

Responder a