Array
(
)

Validar ComboBox

Jair Souza
   - 23 out 2014

Tenho um combobox que mostra as siglas dos estados, que carrego assim(abaixo) via código, como validar para que não seja digitado qualquer letra e só salvar as siglas válidas ?
#Código

cbUF.Items.Add("AC");

Pjava
   - 24 out 2014

Mas qual o critério para siglas válidas? Você deverá informar ao sistema quais as siglas válidas, criar uma lista delas ou constantes e somente ao gravar fazer uma verificação, passando a sigla a ser validade e comparar com sua lista de siglas ou constantes. Agora, porque gravar numa combobox as siglas? Não seria melhor você preencher sua combo no load da página ou do form todas as suas UF's? São só 27. É uma tarefa muito simples. Uma forma simples:
#Código

public bool preencheUF(DropDownList dl)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("select ");
            sb.AppendLine("sigla, descricao");
            sb.AppendLine("from tbl_uf ");

            SqlConnection conexao = new SqlConnection();
            conexao.ConnectionString = ConfigurationManager.ConnectionStrings["conectDarf"].ConnectionString;
            this.cmd = new SqlCommand(sb.ToString(), conexao);

            try
            {
                conexao.Open();
                cmd.ExecuteNonQuery();

                SqlDataReader dr = cmd.ExecuteReader();

                dl.DataSource = dr;
                dl.DataTextField = "descricao";
                dl.DataValueField = "sigla";
                dl.DataBind();

                dl.Items.Insert(0, new ListItem("--- SELECIONE ---", "-1"));
            }
            catch (Exception excecao)
            {
                Erro = excecao.Message;
                return false;
            }
            finally
            {
                conexao.Close();

            }

            return true;
        }

Jair Souza
   - 27 out 2014

Olá, eu realmente preencho o combobox com as siglas no Load do form(Não tenho tabela para estados no banco), eu só não sei como validar na hora de salvar ou melhor ainda no evento Leave do combobox.

#Código

private void FrmLocatario_Load(object sender, EventArgs e)
        {
            cbUF.Items.Add("AC");
            cbUF.Items.Add("AL");
            cbUF.Items.Add("AP");
            cbUF.Items.Add("AM");
            cbUF.Items.Add("BA");
            cbUF.Items.Add("DF");
            cbUF.Items.Add("CE");
            cbUF.Items.Add("ES");
            cbUF.Items.Add("GO");
            cbUF.Items.Add("MA");
            cbUF.Items.Add("MG");
            cbUF.Items.Add("MS");
            cbUF.Items.Add("MT");
            cbUF.Items.Add("PA");
            cbUF.Items.Add("PB");
            cbUF.Items.Add("PR");
            cbUF.Items.Add("PE");
            cbUF.Items.Add("PI");
            cbUF.Items.Add("RJ");
            cbUF.Items.Add("RN");
            cbUF.Items.Add("RS");
            cbUF.Items.Add("RO");
            cbUF.Items.Add("RR");
            cbUF.Items.Add("SC");
            cbUF.Items.Add("SP");
            cbUF.Items.Add("SE");
            cbUF.Items.Add("TO");
        }

Jair Souza
   - 29 out 2014

Estou preenchendo o comboBox desta forma, mas como poderia validar o que foi digitado no evento Leave deste combo, alguém sabe ?

#Código

public Form1()
{
InitializeComponent();
cbUF.DataSource = new List<string>() {"AC","AL","AP","AM","BA","DF","CE","ES","GO","MA","MG","MS","MT","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO"};
cbUF.SelectedIndex = -1;
}

Jair Souza
   - 04 nov 2014

E aí pessoal, sem chance ?