POPULAR COMBOBOX VB.NET

FAUZE 03/04/2012 15:58:22
#399012
Olá pessoal,

Peguei um exemplo de conexão ao banco Firebird e nele tem uma rotina que popula um Datagridview:
      Private Sub CarregaPesquisa()
Try

Dim sql As String
sql = [Ô]SELECT CODIGO, NOME FROM CLIENTES[Ô]
Dim dt As DataTable
FbConecta()
dt = BD.retTabela(sql)
FGRID.DataSource = dt

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
FbDESConecta()

End Sub


Gostaria de saber como faço para popular um Combobox? As informações estão em uma tabela com campo ID_Regiao e Nome_Regiao, só preciso do campo Nome_Regiao.
ALTAIR148 03/04/2012 16:45:49
#399028
Boa tarde,

Tenta assim:

     Dim sql As String
sql = [Ô]SELECT Nome_Regiao FROM SuaTabela[Ô]
Dim dt As DataTable
FbConecta()
dt = BD.retTabela(sql)
Combobox1.DataSource = dt

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
FbDESConecta()
FAUZE 03/04/2012 18:02:29
#399039
Altair,

Fiz as alterações sugerida e a combo é populada com as seguintes informações: System.Data.DataRowView.
ALTAIR148 03/04/2012 18:13:25
#399040
Veja se o exemplo abaixo lhe ajuda.
Private Sub preencheComboFilial()

Dim cmd As New SqlCommand

cmd.CommandText = [Ô]SELECT * FROM tb_Filial[Ô]

cmd.Connection = conn

Dim da As New SqlDataAdapter(cmd)

Dim dt As New DataTable

da.Fill(dt)

cmbFilial.DataSource = dt

cmbFilial.ValueMember = [Ô]COD_Filial[Ô].ToString

cmbFilial.DisplayMember = [Ô]Fil_str_Nome[Ô].ToString

End Sub

FAUZE 03/04/2012 18:25:03
#399041
Citação:

:
Veja se o exemplo abaixo lhe ajuda.

Private Sub preencheComboFilial()

Dim cmd As New SqlCommand

cmd.CommandText = [Ô]SELECT * FROM tb_Filial[Ô]

cmd.Connection = conn

Dim da As New SqlDataAdapter(cmd)

Dim dt As New DataTable

da.Fill(dt)

cmbFilial.DataSource = dt

cmbFilial.ValueMember = [Ô]COD_Filial[Ô].ToString

cmbFilial.DisplayMember = [Ô]Fil_str_Nome[Ô].ToString

End Sub



Não funcionou, a combo ficou vazia.

resolvido dessa forma:
      Private Sub CarregaRegiao()
Try

Dim sql As String, I As Integer
sql = [Ô]SELECT REGIAO FROM REGIAO[Ô]
[ô]sql = [Ô]SELECT NOME FROM CLIENTES[Ô]
Dim dt As DataTable
FbConecta()
dt = BD.retTabela(sql)

For I = 0 To dt.Rows.Count - 1
CboRegiao.Items.Add(dt.Rows(I).Item([Ô]REGIAO[Ô]))

Next

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
FbDESConecta()

End Sub
ALTAIR148 03/04/2012 18:51:21
#399042
Ok, se tiver sanado a dúvida não se esqueça de encerrar o tópico. Abraços.
OMAR2011 03/04/2012 19:57:50
#399046
Resposta escolhida
Preencho um combo desse jeito.

Este é um teste.


Private Sub FrmTesteCombo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
carregaDados()
End Sub
Public Sub carregaDados()
Dim ds As New DataSet
Dim dr As DataRow
Dim dt As New DataTable
Dim adptr As New OleDbDataAdapter([Ô]select * from Times[Ô], strcon)
adptr.Fill(ds, [Ô]Times[Ô])
dt = ds.Tables(0)
For Each dr In dt.Rows
Cb1.Items.Add(dr.Item([Ô]nome[Ô]))
Next

End Sub
Tópico encerrado , respostas não são mais permitidas