DICA: Vincular descrição de um item a um código na ComboBox
18/08/2005
0
Olá pessoal, este tópico é meio que um mini tutorial de como vincular a descrição de um item da combobox a seu código.
A forma de fazer isso é bem simples, primeiro é necessário criar uma classe que representará o item da combo. Esta classe, obrigatoriamente deverá conter duas propriedades (readonly, de preferência), uma que retornará o texto (descrição do item) e outra que retornará o código do item.
Abaixo está a classe que eu criei como exemplo:
Cada objeto desta classe representará um item na combo-box, sendo assim, para cada elemento que você quiser inserir na combo você deverá criar uma instância dessa classe.
Agora que já temos a classe que representa o item, devemos inserir as instâncias dos obj da classe [ComboData] em um a ArrayList. Será o ArrayList que vinculará os itens (as instâncias da classe [ComboData]) na combo-box.
Para isso basta fazer como o exemplo:
Bem, com o obj. ArrayList carregado, agora só nos basta configurar a combo-box. Modo mais simples eu não conheço :).
Basta seguir o exemplo abaixo:
Como pode ser visto no exemplo acima, a propriedade DataSource da combo deverá receber o obj. ArrayList; a propriedade DisplayMember deverá receber o nome da propriedade da classe que criamos que retornará a descrição que será mostrada na combo; a propriedade ValueMember deverá receber o nome da propriedade da classe que criamos que retornará o código vinculado a descrição.
E é isso, bem simples e prático. Se alguém desejar o código de exemplo que eu criei, é só me mandar uma MP informando o e-mail que eu envio.
Até mais pessoal.
Scifie
A forma de fazer isso é bem simples, primeiro é necessário criar uma classe que representará o item da combo. Esta classe, obrigatoriamente deverá conter duas propriedades (readonly, de preferência), uma que retornará o texto (descrição do item) e outra que retornará o código do item.
Abaixo está a classe que eu criei como exemplo:
Public Class ComboData Private strNome As String Private nCodigo As Integer Public ReadOnly Property Nome() As String Get Return Me.strNome End Get End Property Public ReadOnly Property Codigo() As Integer Get Return Me.nCodigo End Get End Property Public Sub New(ByVal nCodigo As Integer, ByVal strNome As String) Me.strNome = strNome Me.nCodigo = nCodigo End Sub End Class
Cada objeto desta classe representará um item na combo-box, sendo assim, para cada elemento que você quiser inserir na combo você deverá criar uma instância dessa classe.
Agora que já temos a classe que representa o item, devemos inserir as instâncias dos obj da classe [ComboData] em um a ArrayList. Será o ArrayList que vinculará os itens (as instâncias da classe [ComboData]) na combo-box.
Para isso basta fazer como o exemplo:
Dim lstData As New ArrayList For i As Integer = 0 To 1000 lstData.Add(New ComboData(i, "VB-" + i.ToString())) Next
Bem, com o obj. ArrayList carregado, agora só nos basta configurar a combo-box. Modo mais simples eu não conheço :).
Basta seguir o exemplo abaixo:
Me.ComboBox1.Items.Clear() Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList Me.ComboBox1.BeginUpdate() Me.ComboBox1.DataSource = lstData Me.ComboBox1.DisplayMember = "Nome" Me.ComboBox1.ValueMember = "Codigo" Me.ComboBox1.EndUpdate()
Como pode ser visto no exemplo acima, a propriedade DataSource da combo deverá receber o obj. ArrayList; a propriedade DisplayMember deverá receber o nome da propriedade da classe que criamos que retornará a descrição que será mostrada na combo; a propriedade ValueMember deverá receber o nome da propriedade da classe que criamos que retornará o código vinculado a descrição.
E é isso, bem simples e prático. Se alguém desejar o código de exemplo que eu criei, é só me mandar uma MP informando o e-mail que eu envio.
Até mais pessoal.
Scifie
Scifie
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)