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

Responder a