DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Adicionando Valores no ComboBox

por Mauricio Junior em 1/1/2011 0

Windows Form

 

Olá pessoal, meu nome é Mauricio Junior. Estou disposto a mostrar como preencher uma comboBox manualmente cujo possui nome e valor, ou seja, como se os dados viessem do banco de dados.

 

Requisitos:

 

-          Visual Studio.NET 2005 instalado

-          Linguagem C#.NET

-          Conhecimento básico de classe

-          Framework 2.0

 

Livros publicados.

 

         Antes de qualquer dúvida já adianto que o artigo é fácil e pode ser bem aproveitado no seu dia a dia. A idéia inicial foi a seguinte: - estava eu querendo preencher uma comboBox em um projeto Windows Form sem a utilização de um banco de dados, isso porque os valores são fixos. Porém preciso que a combo possua valor e nome como se fosse preenchido pelo banco de dados.

         A idéia foi usar ArrayList() cujo vem com o framework 2.0.

 

Primeiro Passo

        

Depois que criei o projeto do tipo Windows Form. Criei uma classe chamada drop.cs. (Referência 1.1)

Referência: 1.1

 

Dentro da classe importei uma coleção genérica no topo da classe.

 

using System.Collections.Generic;

 

Referência: 1.2

 

Criei dois atributos, um chamado nome e outro valor. Um do tipo string e outro do tipo int. Automaticamente com as teclas de atalho Ctrl+R e Ctrl+E eu criei os atributos, ou seja, get e set dos mesmos. (Referência 1.3)

 

 

 

        string _nome;

        int _valor;

 

        public int Valor

        {

            get { return _valor; }

            set { _valor = value; }

        }

 

        public string Nome

        {

            get { return _nome; }

            set { _nome = value; }

        }

 

Referência: 1.3

Dentro da mesma classe criada, fiz um método construtor para a atribuição automática dos valores enviados no momento da instância. (Referência 1.4)

 

 

       public drop(string nome, int valor)

        {

            Nome = nome;

            Valor = valor;

        }

 

Referência: 1.4

 

Note: criei um método public com o mesmo nome da classe cujo recebe dois parâmetros, nome e valor. O atributo Nome recebe o nome do parâmetro e o atributo Valor recebe o parâmetro valor. Perceba que um começa com a letra maiúscula e a outra minúscula.

 

Veja como fica toda a classe: (Referência 1.5)

 

 

using System;

using System.Collections.Generic;

using System.Text;

 

namespace DropDownList

{

    public class drop

    {

        public drop(string nome, int valor)

        {

            Nome = nome;

            Valor = valor;

        }

 

        string _nome;

        int _valor;

 

        public int Valor

        {

            get { return _valor; }

            set { _valor = value; }

        }

 

        public string Nome

        {

            get { return _nome; }

            set { _nome = value; }

        }

   }

}

 

Referência: 1.5

 

Window Forms

 

Agora dentro do formulário, arrastei da barra de toolbox o componente chamado ComboBox para a tela. (Referência 1.6)

 

Referência: 1.6

 

Deixei com o mesmo ID, ou seja, comboBox1. No método Load do formulário preencho a combo com os valores fixos. (Referência 1.7)

 

 

        private void Form1_Load(object sender, EventArgs e)

        {

            ArrayList arr = new ArrayList();

            arr.Add(new drop("nome1",1));

            arr.Add(new drop("nome2",2));

 

            comboBox1.DataSource = arr;

            comboBox1.DisplayMember = "nome";

            comboBox1.ValueMember = "valor";

        }

 

Referência: 1.7

 

Explicação:

 

Criei um arrayList e adicionei com o comando .Add os valores, porém coloquei um new chamando a classe e passando os dois parâmetros; nome e valor. Após adicionar, no datasource do comboBox1 coloco a variável do arrayList.

 

No displayMember coloquei o valor “nome” cujo deve aparecer para o usuário e no ValueMember coloquei o “valor” onde o será gravado no banco de dados. É importante colocar estes atributos com o mesmo nome da classe.

 

Resultado Final

 

Referência: 1.8

 

Bom, eu fico por aqui.

Espero ter ajudado de alguma forma.

 

Qualquer dúvida, favor entrar em contato.

Mauricio Junior

www.mauriciojunior.org

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comentado por: Diegovisk - 19/5/2008 0:00:00
não entendi direito...

o comando não poderia ser simplificado da seguinte forma???

1°- Selecione o combobox onde deseja add os valores.

2°- Vá em properties do combobox.

3°- Ná coluna, vá em Items e click em (collection).

4°- Sendo assim, add os valores , lembrando que é um por linha!

5°- Copile!

Fica post a dúvida!, aguardo resposta tanto aqui quanto no fórum em relação ao googlemaps.

vlw
Comentado por: Diegovisk - 19/5/2008 0:00:00
não entendi direito...

o comando não poderia ser simplificado da seguinte forma???

1°- Selecione o combobox onde deseja add os valores.

2°- Vá em properties do combobox.

3°- Ná coluna, vá em Items e click em (collection).

4°- Sendo assim, add os valores , lembrando que é um por linha!

5°- Copile!

Fica post a dúvida!, aguardo resposta tanto aqui quanto no fórum em relação ao googlemaps.

vlw
Comentado por: Igor - 18/12/2008 0:00:00
A classe ArrayList não pertence ao pacote Generic(System.Collections.Generic) , ela está diretamente dentro de System.Collection...
Comentado por: Tânia - 9/7/2009 0:00:00
Oi Mauricio eu estou com um problema.
Quando eu salvo o valor que esta na ComboBox eu salvo como
ValueMember...
quando eu selecionar os dados que eu gravei no banco e selecionar em uma dataGrid, como fazer para preencher com o valor nome dela nao o valor que eu atribui:
Por exemplo
Na combo "Normal"=003
quando seleciono minha grid ele preenche a combo com o 003 nao com a palavra "normal" como eu desejaria

como posso fazer

Obrigada
Comentado por: Mauricio Junior - 5/2/2010 0:00:00
Tânia, no caso você quer gravar dois valores na combo para gravar no banco? O melhor mesmo seria você pesquisar o 003 para gravar e buscar o Normal. Entendeu?

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Ajax parte II
Saiba ganhar dinheiro navegando na internet
Aplicativo iCantada Free
Sistema ASP 3.0 utilizando 3 camadas – Parte 1
Insistência com Vírus por E-mail
ASPNETi no seu celular
Acessando banco de dados com pocket pc
Heroes {Community} Launch - Brasilia/DF
Moving to Visual Studio 2010 e-Book
Windows 7
Sistema de Catalogar Livros
IsAlphaNumeric
Windows Phone 7 Jump Start
Tecla ESC na tela WEB
Visual Studio Toolbox Performance
As várias maneiras de mandar e-mail utilizando .NET
Aprenda com Windows Azure
Visual Studio .NET 2010 com temas
Vídeo HTC
Sistema de Login em ASP – Parte X
Encontrar o valor no texto
Botão abrindo janela de forma modal
LER: prevenir ou remediar?
Vírus / Spam Comentários
Visual SourceSafe 2 / 3 parte
Themas - Muito Simples
Novo iGas 2.0 Mobile
Orientação a Objetos com Visual Studio.NET 2005 (o famoso OO) – parte 1
User Control Windows executando no Internet Explorer (parte 1 de 2)
Deixando o rodapé fixo
Abrindo Janela de Forma Modal
Vídeo - Themes/Skin/Stylo
Samsung em NYC
Vídeo sobre banco de dados
App iComenda temporariamente free




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....

A Era dos UltraBooks

Os modelos mais dos Ultrabooks...




NETITC