é que seu metodo "result" do excluir() nao esta sendo invocado...
olhando o seu codigo mas acima vi que:

voce tem:

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

e dpois vc tem:

private function excluir():void {
    if (idxSelected > -1 && idxSelected <= listCursos.length - 1 &&
cursoSelected != null) {
        cursoService.excluiCurso(cursoSelected);
    } else {
        Alert.show("Selecione um Curso para excluir.");
    }
}

ok.... vc tem uma funcao chamada excluir() que eh chamada pela propriedade:

<mx:Button x="442" y="71" label="Excluir" width="101" id="btnExcluir"
click="excluir();"/>

blz... ate ae td bem...

so nao entendi a sua chamada do "service"... dentro de excluir():

cursoService.excluiCurso(cursoSelected);

cade o excluiCurso() dentro do <remoteObject>

talvez o que vc ta querendo eh isso:

    <mx:RemoteObject id="cursoService" showBusyCursor="true"
fault="onFault(event)" destination="cursoService">
        <mx:method name="getCursos" result="onResultGetCursos(event)"
fault="onFault(event)"/>
        <mx:method name="excluiCursos" result="onResultExcluir(event)"
fault="onFault(event)"/>
    </mx:RemoteObject>

agora sim o seu onResultExcluir(event) sera chamado quando o metodo
for invocado caso nao retorne null e onFault(event) caso retorno null
e/ou erro.

veja o seu codigo !









Em 12/10/09, Leonardo Ribeiro<leojribe...@gmail.com> escreveu:
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to