Busca online em todo site:
NETITC

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




Título do Artigo

Adicionando Valores no ComboBox


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

comente
 


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: 6015
voltar   comente  subir

Autor:


Por: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


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 ESTAR LOGADO

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

iGas - Sistema de Controle de Combustível
Sistema de Login em ASP Utilizando três camadas - Parte VIII
Criando TreeView com Visual Studio.NET 2005 (passo 1)
Vídeo - Ler EventLog do Windows usando C#.NET
Public Interface
Lançamento do e-Book Dicas DotNet
Instalando o .NET Compact Framework 2.0 SP2 em seu Dispositivo Móvel
Table ExoPC Slate
My Tracks
Criando Teclas de Atalho no Windows Form
Conecte - netBOOKS
Criando Email Modelo no Mail - MacBook
Skyfire - browser mobile
Gerando uma dll com sistema web
Concurso Office
Adicionando Ícones no Windows Forms
Treinamento VSTS
Internet Explorer 9
CES 2008: Keynote do Bill Gates
MinimizeBox no Celular
Vídeos - Lançamento do Windows 7
II Encontro .NET em Brasília
Visual SourceSafe 2 / 3 parte
Search do Windows Live em Seu Site
ASP.NET MVC
Pedido de desculpas
Desenvolvimento de Aplicativos para TV Digital
Sistema de Login em ASP – Parte III
Criando XML a partir de um DATASET tipado – Parte II
Criptografia de String de Conexão no Web.Config
Vídeo Aula: Criando e Publicando Site de uma melhor maneira com C#.NET
Microsoft abre sua loja de aplicativos para desenvolvedores de software mobile
Mensagem JavaScript com .NET
Promoção Assinatura Grátis DevMedia e ASPNETi.COM
Sistema de Login em ASP – Parte IX (Utilizando três camadas)

Publicidade:

[sumir] [aparecer]
LAYERDEV




Informaes Online:

Usurios Online: 493
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5792

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC