CSharp - Combobox autocarregar

10/09/2015

Boa tarde!


Estou desenvolvimento uma aplicação com C# e WPF, porém preciso criar um combobox estado, e outro cidade. Porém preciso criar um método que ao selecionar o estado, no combobox cidade seja exibido apenas as cidades relativo ao estado selecionado.

Obs: O banco de dados se encontra normalizado, apenas não consigo carregar os valores no combobox cidade, o combobox estado carrega as informações normal.


Meu código se encontra da seguinte forma:

public void CarregarEstado()
{
EstadoNegocio estadoNegocio = new EstadoNegocio();

EstadoColecao estadoColecao = new EstadoColecao();
estadoColecao = estadoNegocio.consultarEstado();


cbxEstado.DisplayMemberPath = "Descricao";
cbxEstado.SelectedValuePath = "IDEstado";
cbxEstado.ItemsSource = estadoColecao;
}


public void CarregarCidade()
{
CidadeNegocio cidadeNegocio = new CidadeNegocio();

CidadeColecao cidadeColecao = new CidadeColecao();

*Aqui qu se encontra o problema, se eu passar o valor 1 na referencie será exibido as cidades do estado 1, porém se eu pegar o valor do combobox e passar ele não exibi as cidades.
int IDEstado =Convert.ToInt32(cbxEstado.SelectedItem);
cidadeColecao = cidadeNegocio.cidadeConsultar(IDEstado);
cbxCidade.ItemsSource = null;
cbxCidade.DisplayMemberPath = "Descricao";
cbxCidade.ItemsSource = cidadeColecao;
}


Alguém, poderia me ajudar nesta missão hehe

Guilherme Henrique

Melhor resposta

11/09/2015

Olá Gui!

Você poderia carregar no load da página somente o método de listar Estados.
-No combobox de estados (aspx), você colocaria o evento SelectedIndexChanged;
-No SelectedIndexChanged você carregaria a cidade, pois você já conseguiria pegar o value do combobox estado.

Abaixo um exemplo do uso SelectedIndexChanged com estados e cidades, porém usando dropdownlist

http://www.devmedia.com.br/evento-selectedindexchanged-no-asp-net/22817

Naiade Lima

Responder Citar