Carregando dados vindos do Enum no DropDownList - ASP .NET

Informática

29/11/2008

Por Sueli Mitie Joboji

Enumeradores é uma lista de constantes numéricas agrupadas por um nome e tipo em comum. Seus valores começam sempre do zero, mas você pode definir seus próprios valores.

Por padrão, são criados como sendo do tipo inteiro:

public enum DiaDaSemana
{
    Domingo = 1,
    Segunda = 2,
    Terca = 3,
    Quarta = 4,
    Quinta = 5,
    Sexta = 6,
    Sábado = 7
}

Entretanto, podemos definir enumeradores do tipo Byte, Short e Long. Para isso, temos que declarar o seu tipo:

C#:
public enum nome_enum : byte
{
}

VB.NET:
public enum nome_enum as byte
{
}

Vamos mostrar agora como carregar os dados vindos do Enum no DropDownList:

Primeiro carregamos o valor padrão que ficará selecionado:

Dim li As New ListItem("TODOS", "-1", True)
drop_down.Items.Insert(0, li)
drop_down.SelectedValue = "-1"

A seguir declaramos dois arrays: o primeiro conterá os nomes declarados no enum e o Segundo, conterá seus valores.

Dim itemNames As Array = System.Enum.GetNames ( GetType ( TipoAcao ) )
Dim itemValues As Array = System.Enum.GetValues (GetType ( TipoAcao ) )

E por fim, percorremos o enum adicionando no dropdonwlist:

For i As Integer = 0 To itemNames.Length - 1
Dim item As New ListItem(itemNames(i), itemValues(i))
      drop_down.Items.Add(item)
Next

Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.


Colunista Portal - Educação

por Colunista Portal - Educação

O Portal Educação possui uma equipe focada no trabalho de curadoria de conteúdo. Artigos em diversas áreas do conhecimento são produzidos e disponibilizados para profissionais, acadêmicos e interessados em adquirir conhecimento qualificado. O departamento de Conteúdo e Comunicação leva ao leitor informações de alto nível, recebidas e publicadas de colunistas externos e internos.

Portal Educação

UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93