COMBOBOX COM ERRO

SANROMAN 27/09/2013 11:56:52
#429342
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
MADMAX 27/09/2013 13:58:11
#429346
Resposta escolhida

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
SANROMAN 27/09/2013 17:54:42
#429360
Valeu MADMAX

Resolveu de novo

Muito obrigado

San Roman
Tópico encerrado , respostas não são mais permitidas