O evento change só é disparado quando é alterado o selectedIndex ou selectedItem, e não quando o valor do dataprovider é alterado.
Acredito que os eventos itemEditEnd (que só é disparado quando o usuários realmente para com a edição e o valor é alterado) ou valueCommit (quando o valor é alterado) sejam mais apropriado para seu caso. Ou ainda adicionar um listener em sua variável que é o dataprovider: suaVariavel..addEventListener(CollectionEvent.COLLECTION_CHANGE,etc...) []s e boa sorte, Fabio Terracini On 3/8/07, Geferson F.L. <[EMAIL PROTECTED]> wrote: > > Pessoal, > > Estou usando o evento 'change' do DataGrid para atualizar uma > váriavel que deve conter o Objeto atualmente selecionado. > Ocorre que se o DataGrid for editável, o evento só é gerado quando > passo de linha com o mouse. Se uso o teclado simplesmente não gera o > evento. > Devo tratar isso em outro evento? > > Segue código fonte exemplo: > > <?xml version="1.0"?> > <!-- controls\DataGridConfigAS.mxml --> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute"> > <mx:Script> > <![CDATA[ > [Bindable] > public var selected:Object; > private function myGrid_initialize():void { > myGrid.dataProvider = [ > {Artist:'Steve Goodman', Album:'High and Outside', > Price:8.99}, > {Artist:'Carole King', Album:'Tapestry', Price:11.99}, > {Artist:'The Beach Boys', Album:'Pet Sounds', > Price:13.99}, > {Artist:'Original Cast', Album:'Camelot', Price:9.99} ]; > } > private function changeGridHandler():void { > selected = myGrid.selectedItem; > } > ]]> > </mx:Script> > <mx:DataGrid id="myGrid" width="350" height="150" > creationComplete="myGrid_initialize();" x="10" y="10" > change="changeGridHandler();" > editable="true"/> > <mx:TextInput x="10" y="168" text="{selected.Artist}"/> > <mx:TextInput x="10" y="198" text="{selected.Album}"/> > <mx:TextInput x="10" y="228" text="{selected.Price}"/> > </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 -~----------~----~----~----~------~----~------~--~---
