Marcelo, Voce disse para deixar o metodo exluir assim. Show, funcionou. Mas o que acontece é que eu seu deixar
private function excluir():void { if (idxSelected > -1 && idxSelected <= listCursos.length - 1 && cursoSelected != null) { cursoService.excluiCurso(cursoSelected); //dispara o evento //dispatchEvent(new Event('getCursos', true)) -- COMENTEI } else { Alert.show("Selecione um Curso para excluir."); } } e colocar no public function onResultExcluir(event:ResultEvent):void { Alert.show("Curso excluído."); dispatchEvent(new Event('getCursos', true)); } Nao funciona, ou seja, esse metodo nao esta sendo invocado, mesmo que a exclusao aconteca sem erro... E tbm nao passa no metodo "onFault" (ate pq nao da erro mesmo) So queria entender pq nao passa no "onResultExcluir" ja que a exclusao ocorre sem erros. Obrigado pela atencao porem assim nao exclui 2009/10/12 Leonardo Ribeiro <leojribe...@gmail.com> > Nesse caso teria q fazer alguma alteracao no mxml? > > 2009/10/12 Marcelo Caser <marceloca...@gmail.com> > > >> amigo, >> >> vamos trabalhar com eventos para deixar as coisas mais simples. >> >> Faça o seguinte: >> >> private function init():void { >> getCursos(); >> } >> >> mude para: >> >> private function init():void { >> // aqui definimos qual metodo sera disparado quando o evento que >> estamos "escutando" for chamado na aplicacao. >> addEventListener("getCursos", getCursos); >> } >> >> >> public function getCursos():void { >> Alert.show("getCursos()"); >> cursoService.getCursos(true); >> } >> >> mude para: >> >> public function getCursos(event:Event):void { >> cursoService.getCursos(true); >> } >> >> private function excluir():void { >> if (idxSelected > -1 && idxSelected <= listCursos.length - 1 && >> cursoSelected != null) { >> cursoService.excluiCurso(cursoSelected); >> } else { >> Alert.show("Selecione um Curso para excluir."); >> } >> } >> >> mude para: >> >> private function excluir():void { >> if (idxSelected > -1 && idxSelected <= listCursos.length - 1 && >> cursoSelected != null) { >> cursoService.excluiCurso(cursoSelected); >> //dispara o evento >> dispatchEvent(new Event('getCursos', true)) >> } else { >> Alert.show("Selecione um Curso para excluir."); >> } >> } >> >> >> >> Em 12/10/09, RafaelViana<rfl.vi...@gmail.com> escreveu: >> > >> > *O mais curioso é que você falou que quando abre a tela novamente a >> > lista atualiza (então o carregamento da lista está ok).Quando abre a >> > tela chama o init que tem apenas o método getCursos. >> > >> > *E você chama esse método getCursos no result do excluir. >> > >> > *Lista está como bindable. >> > >> > Deve ser algum detalhe que está passando despercebido, se quiser mande >> > o projeto para meu email que posso dar uma olhada. >> > >> > >> > On 12 out, 11:26, Leonardo Ribeiro <leojribe...@gmail.com> wrote: >> >> <mx:DataGrid x="10" y="10" width="419" height="286" id="dgCursos" >> >> dataProvider="{listCursos}" >> >> itemClick="dgCursoItemClick(event);" >> >> dataChange="getCursos();"> >> >> <mx:columns> >> >> <mx:DataGridColumn headerText="Código" width="50" >> >> dataField="codigo"/> >> >> <mx:DataGridColumn headerText="Nome" width="100" >> >> dataField="nome"/> >> >> </mx:columns> >> >> </mx:DataGrid> >> >> >> >> Nao adiantou nada ainda Marcelo. >> >> O curioso é q do BD exclui correto e se saio e entro na tela de novo >> ele >> >> carrega certo. >> >> >> >> No meu primeiro post eu coloquei todo o mxml e o as >> >> >> >> Qualquer ajuda é bem vinda >> >> >> >> 2009/10/11 Marcelo Caser <marceloca...@gmail.com> >> >> >> >> >> >> >> >> >> >> >> >> > coloque seu metodo de getCursos() na propriedade change do datagrid >> >> >> >> > 2009/10/11 Leonardo Ribeiro <leojribe...@gmail.com> >> >> >> >> >> Foi o q fiz (conforme primeira postagem) >> >> >> >> >> public function onResultExcluir(event: ResultEvent):void { >> >> >> // listCursos.removeItemAt(idxSelected); >> >> >> // idxSelected = -1; >> >> >> // cursoSelected = null; >> >> >> Alert.show("Curso excluído."); >> >> >> getCursos(); >> >> >> } >> >> >> >> >> 2009/10/11 Marcelo Caser <marceloca...@gmail.com> >> >> >> >> >> chame seu metodo de listagem novamente, apos excluir! >> >> >> >> >>> 2009/10/11 Leonardo Ribeiro <leojribe...@gmail.com> >> >> >> >> >>> Srs, >> >> >> >> >>>> Fiz uma listagem simples com um DataGrid e uns botoes (inserir, >> >> >>>> alterar, >> >> >>>> excluir) no momento estou testando apenas o Excluir. >> >> >>>> A exclusao funciona perfeitamente (no banco) porém o datagrid nao >> >> >>>> atualiza (continua com todos os registros de antes da exclusao). >> >> >>>> Abaixo segue o mxml e o as. >> >> >> >> >>>> <?xml version="1.0" encoding="utf-8"?> >> >> >>>> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" >> >> >>>> layout="absolute" width="576" height="346" title="Cursos" >> >> >>>> showCloseButton="true" creationComplete="init();" alpha="1.0"> >> >> >>>> <mx:DataGrid x="10" y="10" width="419" height="286" >> id="dgCursos" >> >> >>>> dataProvider="{listCursos}" >> >> >>>> itemClick="dgCursoItemClick(event);"> >> >> >>>> <mx:columns> >> >> >>>> <mx:DataGridColumn headerText="Código" width="50" >> >> >>>> dataField="codigo"/> >> >> >>>> <mx:DataGridColumn headerText="Nome" width="100" >> >> >>>> dataField="nome"/> >> >> >>>> </mx:columns> >> >> >>>> </mx:DataGrid> >> >> >>>> <mx:Button x="442" y="11" label="Novo" width="101" >> id="btnNovo" >> >> >>>> click="novo();"/> >> >> >>>> <mx:Button x="442" y="41" label="Alterar" width="101" >> >> >>>> id="btnAlterar" click="alterar();"/> >> >> >>>> <mx:Button x="442" y="71" label="Excluir" width="101" >> >> >>>> id="btnExcluir" click="excluir();"/> >> >> >>>> <mx:Button x="442" y="274" label="Fechar" width="101" >> >> >>>> id="btnFechar" >> >> >>>> click="fechar();"/> >> >> >> >> >>>> <mx:RemoteObject id="cursoService" showBusyCursor="true" >> >> >>>> fault="onFault(event)" destination="cursoService"> >> >> >>>> <mx:method name="getCursos" >> result="onResultGetCursos(event)" >> >> >>>> fault="onFault(event)"/> >> >> >>>> <mx:method name="excluir" result="onResultExcluir(event)" >> >> >>>> fault="onFault(event)"/> >> >> >>>> </mx:RemoteObject> >> >> >> >> >>>> <mx:Script source="cursoLst.as"/> >> >> >> >> >>>> </mx:TitleWindow> >> >> >> >> >>>> AS >> >> >> >> >>>> [Bindable] >> >> >>>> private var listCursos:ArrayCollection; >> >> >>>> private var cursoSelected:Curso; >> >> >>>> private var idxSelected:int = -1; >> >> >> >> >>>> private function init():void { >> >> >>>> getCursos(); >> >> >>>> } >> >> >> >> >>>> private function novo():void { >> >> >> >> >>>> } >> >> >> >> >>>> private function alterar():void { >> >> >> >> >>>> } >> >> >> >> >>>> private function excluir():void { >> >> >>>> if (idxSelected > -1 && idxSelected <= listCursos.length - 1 >> && >> >> >>>> cursoSelected != null) { >> >> >>>> cursoService.excluiCurso(cursoSelected); >> >> >>>> } else { >> >> >>>> Alert.show("Selecione um Curso para excluir."); >> >> >>>> } >> >> >>>> } >> >> >> >> >>>> public function onResultExcluir(event:ResultEvent):void { >> >> >>>> // listCursos.removeItemAt(idxSelected); >> >> >>>> // idxSelected = -1; >> >> >>>> // cursoSelected = null; >> >> >>>> Alert.show("Curso excluído."); >> >> >>>> getCursos(); >> >> >>>> } >> >> >> >> >>>> private function dgCursoItemClick(event:ListEvent):void { >> >> >>>> idxSelected = event.rowIndex; >> >> >>>> cursoSelected = listCursos.getItemAt(idxSelected) as Curso; >> >> >>>> } >> >> >> >> >>>> private function fechar():void { >> >> >>>> PopUpManager.removePopUp(this); >> >> >>>> } >> >> >> >> >>>> public function getCursos():void { >> >> >>>> Alert.show("getCursos()"); >> >> >>>> cursoService.getCursos(true); >> >> >>>> } >> >> >> >> >>>> public function onResultGetCursos(event:ResultEvent):void { >> >> >>>> Alert.show("Pegou Cursos."); >> >> >>>> listCursos = event.result as ArrayCollection; >> >> >>>> } >> >> >> >> >>>> public function onFault(event:FaultEvent):void { >> >> >>>> Alert.show(event.fault.message); >> >> >>>> } >> >> >> >> >>>> O fonte ta beeem simples, apos excluir mando pegar os cursos de >> novo >> >> >>>> e a >> >> >>>> listCursos esta como dataProvider do DataGrid. >> >> >>>> Alguem sabe o que estou fazendo de errado? >> >> >> >> >>>> -- >> >> >>>> []'s >> >> >>>> Leonardo >> >> >> >> >>>> Linux User #488650 >> >> >>>> Ubuntu User #27045 >> >> >>>> Mais sobre o Ubuntu em português:http://www.ubuntu-br.org/comece >> >> >> >> >> -- >> >> >> []'s >> >> >> Leonardo >> >> >> >> >> Linux User #488650 >> >> >> Ubuntu User #27045 >> >> >> Mais sobre o Ubuntu em português:http://www.ubuntu-br.org/comece >> >> >> >> -- >> >> []'s >> >> Leonardo >> >> >> >> Linux User #488650 >> >> Ubuntu User #27045 >> >> Mais sobre o Ubuntu em português:http://www.ubuntu-br.org/comece >> > > >> > >> >> >> >> > > > -- > []'s > Leonardo > > Linux User #488650 > Ubuntu User #27045 > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > -- []'s Leonardo Linux User #488650 Ubuntu User #27045 Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---