none
Média Aritmética de DropDownlist's RRS feed

  • Pergunta

  • Seguinte tenho 8 DropdownList's na minha página Web, em cada DropDown, tenho 6 listitem com valores de 0 a 5.

    Quero criar um label nessa minha página que ao ir selecionando os DropDowns e dando as notas, essa label vai mudando, tirando a média dos 8 DropDown's.

    Como poderia fazer isso?

     

    Obrigado !

    sexta-feira, 10 de setembro de 2010 12:07

Respostas

  • Tenta por Object então:

    foreach (object item in contHeader.Controls)
    

     

    Se ocorrer um erro post ele aqui tbm

     

    ate mais!

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:25
  • Bom dia,

    Cara, você pode pôr todos os dropdownlist em uma div, e fazer um for each para os controles dessa div, pegando todos os dropdownlist. Mais ou menos assim:

     double media = 0;
    
        // A div chama dvMenu
          foreach (var item in dvMenu.Controls)
          {
            if (item is DropDownList)
            {
              media += Convert.ToInt32(((DropDownList) item).SelectedValue);
            }
          }
          media = media/8;
    
          lblMedia.text = media.toString();
    
    Claro que nesse caso pegaria TODOS DROPDOWNLIST da div. e a div tem que ter o atributo runat="server"

     

    Abraços,

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    sexta-feira, 10 de setembro de 2010 13:43
  • Dá erro no "var" mesmo assim.

     

    Fala que está faltando alguma assembly/using.

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:14
  • Funcionou, aeeeee !

    Valeu mesmo cara..HAHA

     

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:45

Todas as Respostas

  • Trabalho com C#
    sexta-feira, 10 de setembro de 2010 12:39
  • Bom dia,

    Cara, você pode pôr todos os dropdownlist em uma div, e fazer um for each para os controles dessa div, pegando todos os dropdownlist. Mais ou menos assim:

     double media = 0;
    
        // A div chama dvMenu
          foreach (var item in dvMenu.Controls)
          {
            if (item is DropDownList)
            {
              media += Convert.ToInt32(((DropDownList) item).SelectedValue);
            }
          }
          media = media/8;
    
          lblMedia.text = media.toString();
    
    Claro que nesse caso pegaria TODOS DROPDOWNLIST da div. e a div tem que ter o atributo runat="server"

     

    Abraços,

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    sexta-feira, 10 de setembro de 2010 13:43
  • Esse Foreach eu jogo no meu CS certo?

     

    Jogo aonde?

    sexta-feira, 10 de setembro de 2010 13:52
  • Eu crio um método e coloco esse foreach nele?

     

    Depois chamo esse método por onde?

     

    Valeu

    sexta-feira, 10 de setembro de 2010 14:01
  •  

    Sim você tem que pôr no codeBehond ( .cs )

    Depende de quando você quer que seja realizado a ação... você pode pôr no PageLoad (se quiser que ocorra sempre que alguem altere o dropdown) ou SelectedIndexChanged ( do dropdown)

    Lembrando você precisa que os dropdownlist tenham o atributo autoPostBack = "true" .

    Depende do que você vá fazer

    Abraços,

    sexta-feira, 10 de setembro de 2010 14:07
  • Coloquei esse Foreach no PageLoad e gerou uns erros, não está funcionando.

     

     

     

    sexta-feira, 10 de setembro de 2010 14:17
  • Qual o erro?

     

    *E os dropdownlists tem que ter AutoPostBack = "true"

    sexta-feira, 10 de setembro de 2010 18:10
  • Coloquei assim no PageLoad:

      protected void Page_Load(object sender, EventArgs e)
      {
        double media = 0;
    
        foreach (char item in contHeader.Controls)
        {
          if (item is DropDownList)
          {
            media += Convert.ToInt32(((DropDownList)item).SelectedValue);
          }
        }
        media = media / 8;
    
        lblmedia.Text = media.ToString();
    

     

     

    E gerou erros no "item" e no "char", o erro no "char" dá mesmo usando o var, int e etc. Não sei o que possa ser, segue os erros:

     

    Warning 1 Expressão especificada nunca é do tipo ('System.Web.UI.WebControls.DropDownList')

    Error 2 Não é possível converter o tipo 'char' em 'System.Web.UI.WebControls.DropDownList' 

    segunda-feira, 13 de setembro de 2010 12:25
  • Tem que ser var não pode ser outro tipo.
    foreach (var item in contHeader.Controls)
    
    segunda-feira, 13 de setembro de 2010 12:40
  • Dá erro no "var" mesmo assim.

     

    Fala que está faltando alguma assembly/using.

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:14
  • Tenta por Object então:

    foreach (object item in contHeader.Controls)
    

     

    Se ocorrer um erro post ele aqui tbm

     

    ate mais!

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:25
  • Funcionou, aeeeee !

    Valeu mesmo cara..HAHA

     

    • Marcado como Resposta Progamador.C segunda-feira, 13 de setembro de 2010 14:45
    segunda-feira, 13 de setembro de 2010 14:45