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

Responder a