Usuário com melhor resposta
Combobox

Pergunta
-
Bom Dia , tem hora que meu combobox aparece os dados e hora não . alguém pode me ajudar ?
Private Sub CarregarEmpresaRazaoSocial()
Using con As MySqlConnection = Conectar()
Try
con.Open()
Dim sql As String = "SELECT razao_social FROM empresa"
Dim cmd As MySqlCommand = New MySqlCommand(sql, con)
Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_RazaoSocial.ValueMember = "razao_social"
Cmb_RazaoSocial.DisplayMember = "razao_social"
Cmb_RazaoSocial.DataSource = dt
Cmb_RazaoSocial.SelectedIndex = -1
ComboBox1.Text = Cmb_RazaoSocial.SelectedValue
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Using
End Subdomingo, 25 de outubro de 2015 11:33
Respostas
-
Sim , mas os dados não carregam sempre , sempre tem hora que aparece os dados e horas que não .
Boa noite.
Soaresziin, recomendo que coloques um breaking point para que seja possível entender melhor o problema.
Poste aqui as novas descobertas.
Att., Rafael Simor
quinta-feira, 29 de outubro de 2015 01:27
Todas as Respostas
-
Boa tarde.
Qual exatamente o problema?
O ComboBox não é preenchido com os dados (no caso, razão social)?
Pelo código, tem duas coisas levemente estranhas:
1- ValueMember ser uma string: normalmente no ValueMember colocamos o ID do que queremos selecionar. Claro, isso vai depender bastante do teu sistema, mas normalmente pegamos o ID e gravamos em banco como FK.
2 - Estas duas linhas:
Cmb_RazaoSocial.SelectedIndex = -1 ComboBox1.Text = Cmb_RazaoSocial.SelectedValue
Se teu index está como -1, teu ComboBox terá um valor vazio.
De qualquer forma, recomendo colocar um breaking point e verificar se estão sendo retornando dados do banco de dados e também o que mais pode estar dando errado no meio do caminho.
Att., Rafael Simor
domingo, 25 de outubro de 2015 18:12 -
Mesmo eu removendo as duas linhas tem hora que carrega e não carrega , depois que eu edito os dados de salvo e tento atualizar os o combobox não aparece as informaçoes
removi essas duas linhas;
Cmb_RazaoSocial.SelectedIndex = -1 ComboBox1.Text = Cmb_RazaoSocial.SelectedValue
domingo, 25 de outubro de 2015 18:57 -
Descreva melhor o problema.
Por exemplo: as informações deveriam aparecer no Load de um Form?
Tem horas que o Form abre com as informações e algumas horas, não?
Ou "quando abro o Form as informações aparecem, porém quando faço X, nem sempre elas estão lá".
Se possível, nos mostre onde este método está sendo chamado.
Att., Rafael Simor
domingo, 25 de outubro de 2015 19:03 -
Tô montano um sistema de cadastro de Empresa. nele tem um form para cadastrar e editar as empresas.
no form de editar a empresa , coloquei um combobox chamado Cmb_Filtro para a pessoa escolher como quer pesquisar a Empresa (Razão Social , Nome Fantasia) e do lado tem dois combobox(Cmb_RazaoSocial,Cmb_NomeFantasia) que ficam visível e ativo de acordo com a escolha do filtro. Se a pessoa escolher no filtro pesquisa por Razão social , ele torna visível e permite a pessoa escolher A Razão Social que quer editar , e chama a funcão carrega Razão Social , e nessa horas que a função não mostra a lista de das razões social que tem no meu banco de dados , e quando carrega não consigo atualizar o Cmb_RazaoSocial depois que eu faço alguma alteração nos textbox q é preenchido .
Private Sub CarregarRazaoEmpresa()
Cmb_NomeFantasia.DataSource = Nothing
Using con As MySqlConnection = Conectar()
Try
con.Open()
Dim sql As String = "SELECT * FROM empresa"
Dim cmd As MySqlCommand = New MySqlCommand(sql, con)
Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_RazaoSocial.DisplayMember = "razao_social"
Cmb_RazaoSocial.DataSource = dt
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Using
End Sub
Private Sub CarregarFantasiaEmpresa()
Cmb_NomeFantasia.DataSource = Nothing
Cmb_NomeFantasia.ResetText()
Using con As MySqlConnection = Conectar()
Try
con.Open()
Dim sql As String = "SELECT * FROM empresa"
Dim cmd As MySqlCommand = New MySqlCommand(sql, con)
Dim da As MySqlDataAdapter = New MySqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
Cmb_NomeFantasia.DisplayMember = "nome_fantasia"
Cmb_NomeFantasia.DataSource = dt
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Using
End Sub If Cmb_Filtrar.Text = "Razão Social" Then
CarregarRazaoEmpresa()
LimparTxtEmpresa()
RemoverCorEmpresa()
Cmb_RazaoSocial.Enabled = True
Cmb_RazaoSocial.Visible = True
Cmb_NomeFantasia.Enabled = False
Cmb_NomeFantasia.Visible = False
End If
If Cmb_Filtrar.Text = "Nome Fantasia" Then
CarregarFantasiaEmpresa()
LimparTxtEmpresa()
RemoverCorEmpresa()
Cmb_RazaoSocial.Enabled = False
Cmb_RazaoSocial.Visible = False
Cmb_NomeFantasia.Enabled = True
Cmb_NomeFantasia.Visible = True
End IfConsegue Entender ?
domingo, 25 de outubro de 2015 19:22 -
Tente o seguinte:
If Cmb_Filtrar.Text.Equals("Nome Fantasia") Then
Faça nos dois If's.
Se não der certo, tente o seguinte:
If Cmb_Filtrar.Text.Trim().Equals("Nome Fantasia") Then
E imagino que esses If's estão no evento SelectedIndexChanged do Cmb_Filtrar, correto?
Se não estiver, os métodos podem estar funcionando, mas nunca estão sendo chamados.
Tu podes colocar um breaking point nesses dois if's para ver se eles estão sendo, de fato, chamados.
Obs.:
- Não tire a linha do ValueMember, só comentei que estava um pouco estranho; de preferência coloque a chave primária da tua tabela.
Edit: Tente tirar essas linhas para ver se ajuda.
'CarregarRazaoEmpresa() Cmb_NomeFantasia.DataSource = Nothing 'CarregarFantasiaEmpresa() Cmb_NomeFantasia.DataSource = Nothing Cmb_NomeFantasia.ResetText()
Att., Rafael Simor
- Editado SimorC domingo, 25 de outubro de 2015 20:08
domingo, 25 de outubro de 2015 19:49 -
Continua com a mesma coisa , Obrigado pela Atençãodomingo, 25 de outubro de 2015 20:32
-
Olá Soaresziin,
Você conseguiu aplicar de maneira adequada as instruções passadas acima?
Marcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
quarta-feira, 28 de outubro de 2015 19:41 -
Sim , mas os dados não carregam sempre , sempre tem hora que aparece os dados e horas que não .quarta-feira, 28 de outubro de 2015 21:52
-
Sim , mas os dados não carregam sempre , sempre tem hora que aparece os dados e horas que não .
Boa noite.
Soaresziin, recomendo que coloques um breaking point para que seja possível entender melhor o problema.
Poste aqui as novas descobertas.
Att., Rafael Simor
quinta-feira, 29 de outubro de 2015 01:27 -
Boa tarde,
Por falta de retorno do usuário, esta thread será encerrada.
Caso seja necessário, por gentileza, abra uma thread nova.
AtenciosamenteMarcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
segunda-feira, 2 de novembro de 2015 14:36