LAYERDEV

 Busca Online:
 

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.

Adicionando Valores no ComboBox



Data Publicação: 23/10/2007 9:28:23
Total de visualizações: 7931

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras


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



Total de visualizações: 7931
voltar   comente  subir


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): VOCÊ PRECISA LOGAR

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

Dell Streak Demo
SQL Server 2005 SP2 já está disponível :)
Novo TechNet Experience Online
Formatando String de Vários Tipos
Dicas para programar melhor
Label Server Control AccessKey
Criptografia de String de Conexão no Web.Config
Como fazer uma enquete - parte 2
Armazenando Dados no ViewState Parte II
Cache
Ebook Grátis Microsoft
Criando Help com Visual Studio.NET
Copa Microsoft de Talentos em Brasília
Fazer Log, precisa ou não precisa?
Generics na prática
GridView Parte I
User Control Windows executando no Internet Explorer (parte 2 de 2)
Trabalhando com GridView e RowCommand
Customizando o Membership e Role Provider
Conecte - Os games
Confira os 5 primeiros ganhadores da promoção assinatura online grátis DEVMEDIA.COM e ASPNETI.COM
Código fonte aberto
Chama método que está dentro do COM PLUS (COM +)
Windows Phone 7 Series Developer Training Kit
Usando ProgressBar com Visual Studio.NET 2005
Sistema de Login com ASP 3.0 usando três camadas – Parte I
Windows 7
Criando Números Aleatoriamente
Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel
IsWholeNumber
URL Indexável – Reescrever URL de uma forma amigável
Vídeos para download
Java J2EE – Primeiro Passo
Ler RSS usando o Visual Studio.NET 2005
Dados via Post no VS 2005
Sobre o Autor
  [sumir] [aparecer]
 
Mauricio Junior Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org

Informaes Online
Usurios Online: 306
Artigos:  750
Vdeos:  61
PodCast's:  44
Frum:  3128
Empregos:  1385
Usurios Cadastrados: 6163
Publicidade
LAYERDEV




Vdeos Publicados
 

Duas dicas de internet - Google RealTime e OpenDNS

Desconfie sempre da internet e emails

Microsoft Office online no Safari funcionando

Inovação Visual Studio .NET 2010 - parte 4

Office Live online

TAB TAB na ferramenta Visual Studio .NET

Apresentação do IMC - Sistema de Controle de Peso Mobile

Inovação Visual Studio .NET 2010 - parte 3

Inovação Visual Studio .NET 2010 - parte 1

Download de vídeos com o Safari

Criando Chart - Novo componente integrado com o Visual Studio.NET 2010

Serviços: SAC e SMS integrado

Café com TI - Info sobre o Visual Studio.NET 2010 - WebConfig

Café com TI - Info sobre o Visual Studio.NET 2010

Café com TI - Vírus se passando por Correios

Café com TI - Novo jeito de mandar e-mail com vírus

Café com TI - Formatando todo tipo de String

Resolvido erro do Banco do Brasil no browser

Erro no site do Banco do Brasil com o Safari

Duas dicas do Snow Leopard

Incompatibilidade no Snow Leopard

E-mail com vírus, veja os detalhes

Café com TI - Continuando a configuração de Themes no site

Café com Ti - Banner Rotativo

Café com TI - Evento Eco Brasília

Café com TI - Themes dentro do ASPNETi.COM

Café com TI - Trabalhando com o iCal no Macbook

Café com TI - Deixando o rodapé do seu site fixo

Café com TI - Windows 7 sendo utilizado sem qualquer incompatibilidade

Café com Ti - ASP.NET - Explicando o componente ModalDialogExtender do Ajax Toolkit

Café com TI - Indexação de URL com ASP.NET

Café com TI - Configurando Mail para sua conta no HotMail
Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC