Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Encadeamento de combobox com datagrid view

Discussões sobre a Plataforma de criação da aplicativos Web da Microsoft
Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Boa tarde, sou novo a programar em c# e venho pedir um pouco da vossa ajuda.

Criei uma view para obter a tabela para carregar na datagridview. Com essa view também carreguei os dados da coluna que pretendo em cada combobox, como mostro no exemplo:
Aqui carrego os dados na datagridview:
Sem Título1.png
Sem Título1.png (28.57 KiB) Exibido 30987 vezes
E carrego os dados na combobox com a mesma view e desta forma:
Sem Título2.png
Sem Título2.png (24.99 KiB) Exibido 30987 vezes
Primeiro problema - Queria retirar os nomes repetidos que aparecem na combobox.

Segundo problema - Queria ao selecionar o tipo de produto na combobox que só aparecessem as linhas que tivessem aquele produto.

esta é a imagem que mostra os dados da combobox repetidos e a datagridview carregada com os dados:
Sem Título.png
Sem Título.png (44.04 KiB) Exibido 30987 vezes
Alguém me pode ajudar?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster »

Primeiro problema - Queria retirar os nomes repetidos que aparecem na combobox.

Entao crie o adapter com o SQL correto para isso.

Segundo problema - Queria ao selecionar o tipo de produto na combobox que só aparecessem as linhas que tivessem aquele produto.

Use a propriedade filter to BindingSource


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Boa tarde webmaster, como sou novo ainda não consegui chegar à solução.
Será que podes colocar um exemplo prático para cada uma das minhas questões?

Obrigado por me estares ajudar


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster »

Qual versao do Visual Studio? Qual banco de dados?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Bom dia, a parte do carregamento das combobox e o encadeamento das duas combobox já está resolvido.

2015 Desktop e banco de dados sql

O código que utilizei foi o seguinte:
private void Form2_Load(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT DISTINCT Tipo FROM ListaRequisicoes ", con);
DataTable dt = new DataTable();
sda.Fill(dt);
comboBox1.Items.Clear();
comboBox1.Items.Add("---SELECT---");
foreach(DataRow Row in dt.Rows)
{
comboBox1.Items.Add(Row["Tipo"].ToString());
}
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT DISTINCT Requerente FROM ListaRequisicoes WHERE Tipo = '"+ comboBox1.Text +"'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
comboBox2.Items.Clear();
foreach(DataRow AB in dt.Rows)
{
comboBox2.Items.Add(AB["Requerente"].ToString());
}
}

Agora falta me a segunda questão, que é colocar a tabela aparecer na datagridview e depois ao selecionar na combobox filtrar na datagridview.

Agradeço se me puderes ajudar


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Bom dia, também já consigo colocar aparecer a tabela na datagridview e filtrar pelo que selecciono na combobox, mas o problema é que as combobox estão a repetir os nomes porque alterei a query em relação ao código que coloquei no post anterior. E outro problema, só filtra na datagridview a primeira combobox a segunda já não consigo filtrar.

vou colocar a imagem a mostrar o exemplo:
Sem Título.png
Sem Título.png (43.34 KiB) Exibido 30940 vezes
O código é este:

private void Form2_Load(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM ListaRequisicoes ", con);
DataTable dt = new DataTable();
sda.Fill(dt);
comboBox1.Items.Clear();
comboBox1.Items.Add("---SELECT---");
foreach(DataRow Row in dt.Rows)
{
comboBox1.Items.Add(Row["Tipo"].ToString());
}

dataGridView1.DataSource = dt;
}

//carrega a segunda combobox encadeada com a primeira combobox
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM ListaRequisicoes WHERE Tipo = '"+ comboBox1.Text +"'", con);
DataTable dt = new DataTable();
sda.Fill(dt);
comboBox2.Items.Clear();
foreach(DataRow AB in dt.Rows)
{
comboBox2.Items.Add(AB["Requerente"].ToString());
}

dataGridView1.DataSource = dt;
}


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Boa noite, ninguém consegue colocar um exemplo prático de encadear duas combobox a filtrar na tabela da datagridview?

O que eu estou a pedir está muito confuso? Estou a perguntar uma vez que não estou a receber ajuda de ninguém


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster »

Seja qual for o BindingSource/Adapter que estiver preenchendo o combobox, mude o SQL e adicione o DISTINCT na clausula. Isso fara ele retornar uma lista de elementos unicos.

PS: ninguem aqui eh obrigado a responder perguntas. Este eh um espaco livre para troca de ideias, duvidas e sugestoes. Todo conhecimento eh bem vindo, TODO! Quem aqui ajuda o faz de boa vontade e sem nada receber em troca, alem do reconhecimento de poder colaborar com um colega de profissao. Portanto, sejamos educados em aguardar pacientemente que alguma ajuda venha (se vier) e enquanto o fazemos, porque nao dedicar um pouco de tempo para ajudar um outro colega com uma duvida a qual voce provavelmente sabera a resposta?


Bruno 33
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qui Mai 18, 2017 8:01 am

Re: Encadeamento de combobox com datagrid view

Mensagem por Bruno 33 »

Boa tarde, peço desculpa se fui mal educado, não foi a minha intenção. Só perguntei uma vez que a questão para a minha dúvida poderia estar confusa.

Eu sei dessa parte do distinct, o problema é que se colocar o distinct tenho de criar um novo bindingsource e depois já não filtra na datagridview, uma vez que são bindingsource diferentes.

Mais uma vez a minha intenção nunca foi ser ofensivo com ninguém, pelo contrário, estou a gostar do feedback do vosso fórum e a gostar por pertencer à vossa comunidade. Sempre que posso e descubro soluções para problemas vou colocando para ajudar colegas de profissão.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder