0

ComboBox - C#

Posted by Fabio's Blog on 20:06
Controles que utilizaremos: DropDownList, RequiredFieldValidator, Button, Label e ValidationSummary.

Estarei neste post mostrando como criar um combobox em C#, para o meu projeto darei o nome de ComboBox e a página ASPX de Default.aspx.
Vamos utilizar as principais propriedades
destes controles para fazer as validações necessárias.

Primeiro vamos criar o combo na nossa página ASPX, utilizaremos muito código HTML, por isso você têm que ter um bom nível de conhecimento nessa linguagem.

Segue abaixo o código da página ASPX.



<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ComboBox._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>ComboBox</title>

</head>

<body>
<form id="form1" runat="server">
<asp: ScriptManager ID="ScriptManager1" runat="server" />
<div>

<asp:DropDownList id="cbo_mes" runat="server" Width="150"></asp:DropDownList>

<asp:RequiredFieldValidator id="vld_rqd_cbo_mes" runat="server" Display="Dynamic" ControlToValidate="cbo_mes" SetFocusOnError="true">

<IMG id="img_cbo_mes" src="../_imagens/validator.gif" style="cursor: help;" runat="server" />

</asp:RequiredFieldValidator>

<asp:Button ID="btn_sele" runat="server" Text="Selecionar" CausesValidation="true" />
<asp:Label ID="lbl_mes" runat="server"></asp:Label>

</div>

<asp:ValidationSummary ID="vld_sum" runat="server" EnableViewState="False" HeaderText="Atenção:" ShowMessageBox="True" ShowSummary="False" />

</form>

</body>

</html>


Vamos as explicações das principais propriedades:

    As propriedade id e runat serão utilizadas em todos os controles de nossa aplicação
        Propriedade id - Especifica o nome do controle.
        Propriedade runat - Especifica que este controle deve ser tratado do lado servidor.

    Controle asp
:DropDownList - Este é o controle combo box, com ele podemos oferecer ao usuário uma lista de dados, para o usuário fazer o selecionamento de apenas um.   
Propriedade Width - Especifica o tamanho do controle no navegador.

    Controle asp:RequiredFieldValidator - Controle de validação, como ele podemos validar um controle sem ser necessário a inclusão de uma função javascript.
Propriedade Display - Especifica o modo como será tratado o erro.Statico, Dinâmico ou nenhum.
Propriedade ControlToValidate - Especifica o controle que será validado.
Propriedade SetFocusOnError - Propriedade se setada true, depois do erro é setado o foco no controle que está sendo validado.

    Controle IMG - Este controle HTML está dentro da tag do controle asp:RequiredFieldValidator, toda vez que ocorre o erro da validação é mostrado esta imagem.
Propriedade src - Especifica a imagem que será mostrada.
Propriedade style - Estilo que mostra a imagem de interrogação quando passar o mouse.

    Controle asp:Button - Controle que fará a ação para ser processado a validação do nosso combo.
Propriedade Text - Especifica o texto que aparecerá no botão
Propriedade CausesValidation - Especifica se o botão fará a validação dos controle na tela. Se estiver com o valor false não será feito nenhuma validação na tela.

    Controle asp:Label - Controle que será mostrado o valor selecionado no combo quando precionarmos o botão.


    Controle asp:ValidationSummary - Controle que faz a validação e mostra no erro a janela em javascript.
Propriedade EnableViewState - Habilita o ViewState do controle na página ou não.
Propriedade HeaderText - Especifica o título da janela para os campos requeridos.
Propriedade ShowMessageBox - Especifica se o controle mostrará a janela ao ocorrer o erro ou não.
Propriedade ShowSummary - Especifica se o erro será mostrado como sumário ao usuário.

    Aqui é o final da criação da nossa página aspx, o próximo passo será feito em nosso code behind.

    Abaixo como deverá ficar o código.

    

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

namespace ComboBox

{

    public partial class _Default : System.Web.UI.Page

    {

 

        #region Métodos da página

 

        /// <summary>

        /// Page load da página

        /// </summary>

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

            {

                this.CarregarCombo();

            }

 

            this.btn_sele.Click += new EventHandler(btn_sele_Click);

 

        }

 

        #endregion Métodos da página

 

        #region Métodos dos controles

 

        /// <summary>

        /// Método do clique do botão

        /// </summary>

        void btn_sele_Click(object sender, EventArgs e)

        {

            this.lbl_mes.Text = this.cbo_mes.SelectedItem.Text;

        }

 

        #endregion Métodos dos controles

 

        #region Métodos

 

        /// <summary>

        /// Função para carregar o combo

        /// </summary>

        private void CarregarCombo()

        {

            // Limpa todos os itens do combo

            this.cbo_mes.Items.Clear();

            // Insere os dados no combo box

            this.cbo_mes.Items.Add(new ListItem("-- Selecione --", ""));

            this.cbo_mes.Items.Add(new ListItem("Janeiro", "1"));

            this.cbo_mes.Items.Add(new ListItem("Fevereiro", "2"));

            this.cbo_mes.Items.Add(new ListItem("Março", "3"));

            this.cbo_mes.Items.Add(new ListItem("Abril", "4"));

            this.cbo_mes.Items.Add(new ListItem("Maio", "5"));

            this.cbo_mes.Items.Add(new ListItem("Junho", "6"));

            this.cbo_mes.Items.Add(new ListItem("Julho", "7"));

            this.cbo_mes.Items.Add(new ListItem("Agosto", "8"));

            this.cbo_mes.Items.Add(new ListItem("Setembro", "9"));

            this.cbo_mes.Items.Add(new ListItem("Outubro", "10"));

            this.cbo_mes.Items.Add(new ListItem("Novembro", "11"));

            this.cbo_mes.Items.Add(new ListItem("Dezembro", "12"));

            this.cbo_mes.SelectedIndex = 0;

        }

 

        #endregion Métodos

 

    }

}



    Abaixo uma imagem de como ficará a tela ao emitir o erro da validação.



    Abaixo um exemplo de como ficará ao passar a validação e carregar o item selecionado no nosso label.


    O código fonte deste exemplo você baixa aqui (Você deve estar logado ao Google).


Espero que tenha sido útil.


Copyright © 2009 Fabio's Blog All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive. Distribuído por Templates