Não entendi muito bem. Desenvolvi assim: Quando listo meus alunos na
view de mensalidade eu disparo um evento e esse evento é o find do
Aluno, beleza so que o find do aluno tem o find_complete, dai no
onResult eu populo o model normal. Assim:
//Metodo de listagem dos alunos na action de Mensalidade
public function find():void{
var aluno:AlunoDTO = new AlunoDTO();
aluno.turmaid = model.objTurma.turmaid;
Swiz.dispatchEvent(new AlunoEvent(AlunoEvent.FIND_BY_TURMA,aluno));
}
//Controller de Aluno
[Mediate(event='AlunoEvent.FIND_BY_TURMA')]
public function findByTurma(e:AlunoEvent):void
{
executeServiceCall(alunoRemote.findByTurma(e.aluno),
findHandler,
faultHandler);
}
//findHandler
private function findHandler(e:ResultEvent):void
{
model.dataAluno = new ArrayCollection(e.result as
Array);
Swiz.dispatchEvent(new
AlunoEvent(AlunoEvent.FIND_COMPLETE)); //Ao
disparar esse find_complete a minha view de Aluno acaba ouvindo esse //
evento tb e ocasiona a mesma ação
}
//Init da view de Aluno
public function init():void{
Swiz.addEventListener(AlunoEvent.FIND_COMPLETE, findCompleteHandler);
}
private function findCompleteHandler(e:AlunoEvent):void{
Alert.show('Teste');
}
Ou seja o alert é disparado tanto na tela de mensalidade como na de
aluno devido ao find_complete ser chamado nos dois lugares, como
contorno isso?
Abs
On Nov 8, 1:32 pm, bruno bg <[email protected]> wrote:
> vai depender como vc desenvolveu.
> se vc usou um filterFunction é só colocar a suaListaArray = null;
> se vc usou o próprio array no autoComplete e esse estende um ComboBox. é só
> vc fazer o selectIndex=0, vai apontar para o primeiro registro.
>
> coloque na sua function do seu AlunoController que retorna o conteúdo desse
> componente. ou seja , no seu find_complete.
> --
> ****************************************************www.brunobg.com
> [email protected] (MSN & Skype)
> blogflex.brunobg.com
> @brunogrohs
> (21) 9913-2397
>
> Em 8 de novembro de 2010 12:54, Matheus <[email protected]> escreveu:
>
> > Opa Bruno vlw ai pela resposta, mas é o seguinte o grande X da questão
> > é por exemplo tenho meu AlunoController que dispara um find_complete,
> > dai na minha view de mensalidade eu listo os alunos dai, por
> > consequencia o find_complete é chamado tb na tela de mensalidade, como
> > contorno isso?
> > E como eu zeraria o estado do meu componente?
> > Abs
>
> > On Nov 8, 12:40 pm, bruno bg <[email protected]> wrote:
> > > Matheus, o SWIZ usa o Padrão de Projeto SINGLETON, por isso o "estado"
> > desse
> > > componente será repetido onde ele for reutilizado.
> > > Tente "zerar" esse "estado" desse componente toda vez que ele for
> > > instanciado.
> > > veja seu MODEL.
>
> > > --
> > > ****************************************************www.brunobg.com
> > > [email protected] (MSN & Skype)
> > > blogflex.brunobg.com
> > > @brunogrohs
> > > (21) 9913-2397
>
> > > Em 8 de novembro de 2010 12:04, Matheus <[email protected]> escreveu:
>
> > > > Vo tentar descrever o problema: Tenho um componente e estou usando ele
> > > > em mais de uma view, quando realizo uma busca nesse componente e mudo
> > > > de tela, para outra tela que tem o mesmo componente lá esta a mesma
> > > > opcao que eu selecionei anteriormente. O problema é bem pior que isso
> > > > mas só com isso da pra ilustrar. Como eu resolvo? Isso é problema do
> > > > Swiz com o removeEventListener?
>
> > > > Abs
>
> > > > --
> > > > 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 emhttp://groups.google.com/group/flexdev
>
> > --
> > 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 emhttp://groups.google.com/group/flexdev
--
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