Switch em Flex

4 respostas
UpTheIrons

Olá pessoal,

Tô com o seguinte problema no Flex.
Tenho um comboBox que ao mudar sua escolha eu preciso alterar algumas
propriedades de alguns componentes.

O código está assim:

private function onChange_cboTipo(event:Event):void{
				
				switch(cboTipo.text)
				{
					case "CLIENTE":
					{
						Alert.show("c " + cboTipo.text);
						rbPessoaFisica.enabled = true;
						rbPessoaJuridica.enabled = true;
						rbPessoaFisica.setFocus();
					}
					case "FORNECEDOR":
					{
						Alert.show("f " + cboTipo.text);
						rbPessoaFisica.enabled = false;
						rbPessoaJuridica.enabled = true;
						rbPessoaJuridica.setFocus();
					}
					case "FUNCIONARIO":
					{
						rbPessoaFisica.enabled = true;
						rbPessoaJuridica.enabled = false;
						rbPessoaFisica.setFocus();
					}
					case "REPRESENTANTE":
					{
						rbPessoaFisica.enabled = false;
						rbPessoaJuridica.enabled = true;
						rbPessoaJuridica.setFocus();
					}
					
					
				}

MXML

<mx:ComboBox id="cboTipo"  change="{onChange_cboTipo(event)}" width="250" dataProvider="{contaTipos}" labelField="descricao"/>

Só que, apesar dele entrar nos “cases”, ele só executa a mudança uma única vez as mudanças das propriedades.

Why?

4 Respostas

davidbuzatto

Você está tendo um problema de fallthrough, pois faltou o break; em cada case.

[]´s

F

Não sei é o caso, mas coloque o comando break no fim de cada case, isto pq se entrar no primeiro case os demais serão executados tb, vc tb pode colocar em último o bloco default: q será executado se nenhum case for.

[]s
Fabio da Silva

G
é exatamente istofalta de break case CLIENTE’:

{

Alert.show("c " + cboTipo.text);

rbPessoaFisica.enabled = true;

rbPessoaJuridica.enabled = true;

rbPessoaFisica.setFocus();

[color=red]break; [/color]                    }    <img src="//https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/w.pngink.png?v=5" title=":wink:" class="emoji" alt=":wink:">
UpTheIrons

Putz, foi mal :smiley:

Criado 10 de setembro de 2010
Ultima resposta 10 de set. de 2010
Respostas 4
Participantes 4