none
Como verificar se algum item do checkboxlist está marcado? RRS feed

  • Pergunta

  • Tenho um checkboxlist com 11 items e gostaria de fazer uma verificação de que se não existir item marcado, exibirá uma mensagem qualquer do tipo: label.text = "é necessário marcar ao menos um item". Como fazer essa verificação?
    segunda-feira, 31 de janeiro de 2011 10:50

Respostas

  • Obrigado amigo, me deu uma luz. Fiz dessa forma:

     

          int itens = 0;
          for( int i = 0; i <= cbSinMotivo.Items.Count - 1; i++ ) {
            if( cbSinMotivo.Items[ i ].Selected ) {
              itens++;
            }
          }
          if( itens == 0 ) {
            lblErrorMessage.Visible = true;
            lblErrorMessage.Text = "É necessário marcar ao menos um motivo.";
            return;
          }
    

    • Marcado como Resposta Sc0fi3ld segunda-feira, 31 de janeiro de 2011 11:37
    segunda-feira, 31 de janeiro de 2011 11:37

Todas as Respostas

  • Se você estiver utilizando o controle CheckBoxList, basta varrer o mesmo e verificar, algo do tipo:

    bool erro = false;
    for(int i = 0; i<= chkList.Items.Count-1;i++)
    {
      if(chkList.Items[i].Checked)
      {
        erro = true; break;
      }
    }
    
    Caso contrário, você terá que verificar os checkbox individualmente.


    ----------------------------
    Bruno Seixas
    Analista de Sistemas
    segunda-feira, 31 de janeiro de 2011 10:57
  • Mas nesse seu exemplo você tá retornando erro se o item "i" estiver marcado.

    Eu preciso varrer todo o checkboxlist e se não tiver nenhum item marcado, retornar uma mensagem dizendo que ao menos um item precisa ser marcado.

    segunda-feira, 31 de janeiro de 2011 11:01
  • bool erro = true;
    for(int i = 0; i<=chkList.Items.Count-1;i++)
    {
       if(chkList.Items[i].Checked)
       {
        erro = false;
        break;
       }
    }
    
    
    if(erro)
    {
    //marca ao menos um checkbox
    }
    else
    {
    //sucesso
    }
    


    ----------------------------
    Bruno Seixas
    Analista de Sistemas
    segunda-feira, 31 de janeiro de 2011 11:07
  • Obrigado amigo, me deu uma luz. Fiz dessa forma:

     

          int itens = 0;
          for( int i = 0; i <= cbSinMotivo.Items.Count - 1; i++ ) {
            if( cbSinMotivo.Items[ i ].Selected ) {
              itens++;
            }
          }
          if( itens == 0 ) {
            lblErrorMessage.Visible = true;
            lblErrorMessage.Text = "É necessário marcar ao menos um motivo.";
            return;
          }
    

    • Marcado como Resposta Sc0fi3ld segunda-feira, 31 de janeiro de 2011 11:37
    segunda-feira, 31 de janeiro de 2011 11:37
  • É uma maneira lusitana e menos eficaz(utiliza int que é mais pesada que o bit e varre todo o chkList ao inves de parar quando um item ja esta preenchido), mas enfim, a logica é a mesma. parabens pela sua conclusao.

    ----------------------------
    Bruno Seixas
    Analista de Sistemas
    segunda-feira, 31 de janeiro de 2011 11:44