POPULAR COMBOBOX VB.NET
Olá pessoal,
Peguei um exemplo de conexão ao banco Firebird e nele tem uma rotina que popula um Datagridview:
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.
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.
Boa tarde,
Tenta assim:
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()
Altair,
Fiz as alterações sugerida e a combo é populada com as seguintes informações: System.Data.DataRowView.
Fiz as alterações sugerida e a combo é populada com as seguintes informações: System.Data.DataRowView.
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
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
Ok, se tiver sanado a dúvida não se esqueça de encerrar o tópico. Abraços.
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
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