Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

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 » Seg Jun 05, 2017 1:25 pm

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 22992 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 22992 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 22992 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: 2780
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster » Seg Jun 05, 2017 2:59 pm

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


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Qua Jun 07, 2017 3:34 pm

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: 2780
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster » Qua Jun 07, 2017 4:35 pm

Qual versao do Visual Studio? Qual banco de dados?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Qua Jun 07, 2017 5:50 pm

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 » Qui Jun 08, 2017 7:58 am

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 22945 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 » Qui Jun 08, 2017 8:27 pm

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: 2780
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Encadeamento de combobox com datagrid view

Mensagem por webmaster » Sex Jun 09, 2017 1:59 pm

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?


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

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 » Sex Jun 09, 2017 2:30 pm

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