Minha aplicação em flex parou de funcionar as comboBox de todas as telas,
Eu estou utilizando um datagrid que recebe os dados do banco, que quando é clicado carrega as caixas de texto e as comboBox,
E do nada as comboBox não carregam mais as informaçõe do datagrid;
O pior que a ultima tela que fiz, esse codigo abaixo esta funcionando normalmente, e as telas anteriores não funcionam.
public function carregaTela():void{
currentState='';
codigo.text = dg.selectedItem.id;
nome.text = dg.selectedItem.nome;
cpf.text = dg.selectedItem.cpf;
carg.text = dg.selectedItem.cargo;
email.text = dg.selectedItem.email;
usuario.text = dg.selectedItem.usuario;
senha.text = dg.selectedItem.senha;
nome.editable = true;
cpf.editable = true;
carg.enabled = true;
email.editable = true;
usuario.editable = true;
senha.editable = true;
}
<mx:DataGrid doubleClick="{carregaTela()}" doubleClickEnabled="true" styleName="DataGrid" x="0" y="37" id="dg"
width="559" height="221" dataProvider="{funcionario}">
<mx:columns>
<mx:DataGridColumn width="30" headerText="Codigo" dataField="id"/>
<mx:DataGridColumn width="100" headerText="Nome" dataField="nome"/>
<mx:DataGridColumn width="70" headerText="CPF" dataField="cpf"/>
<mx:DataGridColumn width="100" headerText="Cargo" dataField="cargo"/>
<mx:DataGridColumn width="0" visible="false" dataField="usuario"/>
<mx:DataGridColumn width="0" visible="false" dataField="senha"/>
<mx:DataGridColumn visible="false" dataField="email"/>
</mx:columns>
</mx:DataGrid>
public List listarFuncionarioDatagrid() {
FuncionarioDAO dao = new FuncionarioDAO();
List funcionario = new ArrayList();
funcionario = dao.listar_Funcionarios();
List saida = new ArrayList();
for (int i = 0; i < funcionario.size(); i++) {
Funcionario var = (Funcionario) funcionario.get(i);
// criando um objeto(visão) que será utilizado para exibir dados
// adequadamente na tabela
VisaoFuncionarios visao = new VisaoFuncionarios();
visao.setId(var.getId());
visao.setNome(var.getNome());
visao.setCpf(var.getCpf());
visao.setEmail(var.getEmail());
visao.setSenha(var.getSenha());
visao.setUsuario(var.getUsuario());
visao.setCargo(var.getCargo().getId()+"-"+var.getCargo().getNome());
saida.add(visao);
}
return saida;
// listar cargo para preencher o combobox da tela cadastro de funcinario
@SuppressWarnings("unchecked")
public List listarCargoCombo() {
CargoDAO dao = new CargoDAO();
List cargos = new ArrayList();
cargos = dao.listar();
List saida = new ArrayList();
saida.add("Selecione");
for (int i = 0; i < cargos.size(); i++) {
Cargo var = (Cargo) cargos.get(i);
saida.add(var.getId() + "-" + var.getNome());
}
return saida;
}
[Bindable]
private var arrayCargo : ArrayCollection;
public function carregaCombo():void{
Controlador.listarCargoCombo();
}
public function listaCargoBoxOk(event:ResultEvent):void{
arrayCargo = event.result as ArrayCollection;
}
public function ErroCarregarBox(event:FaultEvent):void{
Alert.show("Erro ao Carregar o ComboBox");
}
[Bindable]
private var funcionario : ArrayCollection;
public function listarFuncionarios():void{
Controlador.listarFuncionarioDatagrid();
}
public function listaOK(event:ResultEvent){
funcionario = event.result as ArrayCollection;
}
public function Erro(event:FaultEvent){
Alert.show("Erro ao Listar!");
}