COMBOBOX COM ERRO
Olá Pessoal
Tenho um combobox em meu programa que pega os valores de uma tabela sql server.
Ao carregar o form, com o combo inserido, ao invés de aparecer as linhas definidas na tabela aparece o seguinte texto no combo:
System.Data.DataRowView
Segue o código:
Private Function preencheCombo(combobox As ComboBox, codigo As String, descricao As String, consulta As String, nomeTabela As String) As Boolean
con = New SqlConnection(strCon)
adpt = New SqlDataAdapter(consulta, con)
tabela = New DataTable(nomeTabela)
Try
con.Open()
adpt.Fill(tabela)
If tabela.DefaultView.Count > 0 Then
combobox.ValueMember = codigo
combobox.DisplayMember = descricao
combobox.DataSource = tabela.DefaultView
End If
Catch ex As Exception
MsgBox([Ô]Não foi possivel conectar ao banco de dados. Erro: [Ô] & vbCrLf & ex.ToString, MsgBoxStyle.Information, [Ô]Erro ao conectar.[Ô])
Return False
Finally
con.Dispose()
adpt.Dispose()
End Try
Return True
End Function
O código no load do form é o seguinte
Private Sub frmCadastroUsuario_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Not preencheCombo(cbGrupo, [Ô]idGrupos[Ô], [Ô]NomeGrupos[Ô], [Ô]SELECT * FROM tbGrupos[Ô], [Ô]tbGrupos[Ô]) Then
MsgBox([Ô]Não foi possÃvel preencher o combobox [ô]GRUPO[ô].[Ô], MsgBoxStyle.Information, [Ô]Erro ao conectar[Ô])
End If
End Sub
Se alguém puder me ajudar, desde já agradeço
San Roman
Tenho um combobox em meu programa que pega os valores de uma tabela sql server.
Ao carregar o form, com o combo inserido, ao invés de aparecer as linhas definidas na tabela aparece o seguinte texto no combo:
System.Data.DataRowView
Segue o código:
Private Function preencheCombo(combobox As ComboBox, codigo As String, descricao As String, consulta As String, nomeTabela As String) As Boolean
con = New SqlConnection(strCon)
adpt = New SqlDataAdapter(consulta, con)
tabela = New DataTable(nomeTabela)
Try
con.Open()
adpt.Fill(tabela)
If tabela.DefaultView.Count > 0 Then
combobox.ValueMember = codigo
combobox.DisplayMember = descricao
combobox.DataSource = tabela.DefaultView
End If
Catch ex As Exception
MsgBox([Ô]Não foi possivel conectar ao banco de dados. Erro: [Ô] & vbCrLf & ex.ToString, MsgBoxStyle.Information, [Ô]Erro ao conectar.[Ô])
Return False
Finally
con.Dispose()
adpt.Dispose()
End Try
Return True
End Function
O código no load do form é o seguinte
Private Sub frmCadastroUsuario_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Not preencheCombo(cbGrupo, [Ô]idGrupos[Ô], [Ô]NomeGrupos[Ô], [Ô]SELECT * FROM tbGrupos[Ô], [Ô]tbGrupos[Ô]) Then
MsgBox([Ô]Não foi possÃvel preencher o combobox [ô]GRUPO[ô].[Ô], MsgBoxStyle.Information, [Ô]Erro ao conectar[Ô])
End If
End Sub
Se alguém puder me ajudar, desde já agradeço
San Roman
SANROMAN , nesta parte muda isso , seta o DataSource primeiro pq ele limpa mesmo os outros campos quando setado.
If tabela.DefaultView.Count > 0 Then
combobox.DataSource = tabela.DefaultView
combobox.ValueMember = codigo
combobox.DisplayMember = descricao
End If
Valeu MADMAX
Resolveu de novo
Muito obrigado
San Roman
Resolveu de novo
Muito obrigado
San Roman
Tópico encerrado , respostas não são mais permitidas