Jump to content

ComboBOX


ferreira12
 Share

Recommended Posts

Boas,

Estou a utilizar um combox para ir buscar uma lista de Marcas. onde tenho a Marca e o ID.

O que quero é apresenta o nome da marca, mas queria era guardar o seu id.

O código que utilizo é

Private Sub ComboBoxMarcaID()
 'conexaoBD()
 Dim da As SqlDataAdapter
 Dim ds As DataSet
 Dim sqlStr As String = "SELECT ID,MArca FROM Marca"
 da = New SqlDataAdapter(sqlStr, connection)
 'Instancia o dataset
 ds = New DataSet()
 'Obtem a Coleção que fornece o mapeamento mestre
 ' entre a tabela fonte e o datatable
 da.TableMappings.Add("Table", "Marca")

da.Fill(ds)
DataSet.DefaultViewManager
 Me.dvm = ds.DefaultViewManager
 Me.ComboMarcaID.DataSource = Me.dvm
 'exibe a "tabelaClientes.CompanyName no ComboBox
 Me.ComboMarcaID.DisplayMember = "Marca.Marca"
 Me.ComboMarcaID.ValueMember = "Marca.ID"

 txtMarcaID.Text = ComboMarcaID.Text

esta a tentar colocar o id numa textbox, mas sem exito. o que estou a fazer de errado?

Link to comment
Share on other sites

Boas,

Estou a utilizar um combox para ir buscar uma lista de Marcas. onde tenho a Marca e o ID.

O que quero é apresenta o nome da marca, mas queria era guardar o seu id.

O código que utilizo é

Private Sub ComboBoxMarcaID()
 'conexaoBD()
 Dim da As SqlDataAdapter
 Dim ds As DataSet
 Dim sqlStr As String = "SELECT ID,MArca FROM Marca"
 da = New SqlDataAdapter(sqlStr, connection)
 'Instancia o dataset
 ds = New DataSet()
 'Obtem a Coleção que fornece o mapeamento mestre
 ' entre a tabela fonte e o datatable
 da.TableMappings.Add("Table", "Marca")

da.Fill(ds)
DataSet.DefaultViewManager
 Me.dvm = ds.DefaultViewManager
 Me.ComboMarcaID.DataSource = Me.dvm
 'exibe a "tabelaClientes.CompanyName no ComboBox
 Me.ComboMarcaID.DisplayMember = "Marca.Marca"
 Me.ComboMarcaID.ValueMember = "Marca.ID"

 txtMarcaID.Text = ComboMarcaID.Text

esta a tentar colocar o id numa textbox, mas sem exito. o que estou a fazer de errado?

Amigo Boa tarde;

Tende fazer o seguinte;

Você ira criar uma class com o código abaixo :

Public Class EstruturaComboBox
Protected Structure Regioes
 Private RegiaoNome As String
 Private RegiaoId As Integer
 Public Sub New(ByVal nome As String, ByVal id As Integer)
	 RegiaoNome = nome
	 RegiaoId = id
 End Sub
 Public ReadOnly Property getName() As String
	 Get
		 Return RegiaoNome
	 End Get
 End Property
 Public ReadOnly Property getId() As Integer
	 Get
		 Return RegiaoId
	 End Get
 End Property
End Structure
End Class

Após isso crie outra classe com o código abaixo :

Public Function carregacombobox() As ArrayList
 Dim comboboxarray As New ArrayList
 Dim conexao As New ClassConexao
 Dim comando As New ClassConexao
 conexao.conexaodb.Open()
 comando.comando.Connection = conexao.conexaodb
 comando.comando.CommandType = CommandType.Text
comando.comando.CommandText = "SELECT ID,MArca FROM Marca"
Dim ler As New ClassConexao
 ler.datareaderdb = comando.comando.ExecuteReader()
 comboboxarray.Add(New Regioes("Selecione", 0))
 While ler.datareaderdb.Read
	 With comboboxarray
		 .Add(New Regioes(ler.datareaderdb("MArca"), ler.datareaderdb("ID")))
	 End With
 End While
 Return (comboboxarray)
End Function

Após isso em seu código é somente você carregar o seu combobox com o exemplo do código:

Dim comando As New ClassCadastraUsuario
	 Dim retorno As New ArrayList
	 retorno = comando.carregacombobox()
	 With CmbDescricaoFilial
		 .DataSource = retorno
		 .DisplayMember = "getName"
		 .ValueMember = "getId"
	 End With
txtMarcaID.Text = CType(CmbDescricaoFilial.SelectedValue, String)

Espero que ajude...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.