none
somar valores da gridview e apresentar o resultado RRS feed

  • Pergunta

  • olá

    Quero somar todos os valores que são apresentados na coluna x.

    por exemplo linha x  4

         linha y  4

                        total 8

    tenho o seguinte codigo mas não soma correctamente

            foreach (GridViewRow linha in this.GridView1.Rows)
            {
    
                if (GridView1.Rows.Count > 0)
                {
                    string valor = linha.Cells[4].Text;
                    valor += (linha.Cells[4].Text);
                    lbl_valor.Text = valor;
                }
            }

    quinta-feira, 12 de abril de 2012 14:39

Respostas

  • Diogo veja este exemplo:

    .aspx
    <asp:GridView runat="server" ID="grvProdutos" />
    <br />
    Total:
    <asp:Label Text="" ID="lblTotal" runat="server" />

    .cs
    //Simulando retorno do banco de dados
    DataTable dt = new DataTable();
    dt.Columns.Add("Produto", typeof(string));
    dt.Columns.Add("Preco", typeof(decimal));
    
    //Adicionando valores
    dt.Rows.Add("Sabonete", 10.5);
    dt.Rows.Add("Pacote de Feijão", 84.7);
    dt.Rows.Add("Pasta de dente", 1.5);
    
    //Atribuindo ao gridview
    grvProdutos.DataSource = dt;
    grvProdutos.DataBind();
    
    //Faxendo soma dos produtos
    lblTotal.Text = dt.AsEnumerable().Select(f => f.Field<decimal>("Preco")).Sum().ToString("n2");


    Resultado:


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/


    • Editado Vitor Mendes quinta-feira, 12 de abril de 2012 15:19
    • Marcado como Resposta DiogoMBM quinta-feira, 12 de abril de 2012 15:35
    quinta-feira, 12 de abril de 2012 15:18

Todas as Respostas

  • Diogo veja este exemplo:

    .aspx
    <asp:GridView runat="server" ID="grvProdutos" />
    <br />
    Total:
    <asp:Label Text="" ID="lblTotal" runat="server" />

    .cs
    //Simulando retorno do banco de dados
    DataTable dt = new DataTable();
    dt.Columns.Add("Produto", typeof(string));
    dt.Columns.Add("Preco", typeof(decimal));
    
    //Adicionando valores
    dt.Rows.Add("Sabonete", 10.5);
    dt.Rows.Add("Pacote de Feijão", 84.7);
    dt.Rows.Add("Pasta de dente", 1.5);
    
    //Atribuindo ao gridview
    grvProdutos.DataSource = dt;
    grvProdutos.DataBind();
    
    //Faxendo soma dos produtos
    lblTotal.Text = dt.AsEnumerable().Select(f => f.Field<decimal>("Preco")).Sum().ToString("n2");


    Resultado:


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/


    • Editado Vitor Mendes quinta-feira, 12 de abril de 2012 15:19
    • Marcado como Resposta DiogoMBM quinta-feira, 12 de abril de 2012 15:35
    quinta-feira, 12 de abril de 2012 15:18
  • Obrg. Já resolvi de outra maneira.
    quinta-feira, 12 de abril de 2012 15:35
  • Diogo

    Este artigo também poderá te ajudar, além da explicação do Vitor.

    http://ecode10.com/artigo/463/GridView+Valor+total+no+footer.aspx


    Espero ter ajudado. Se ajudei, favor marcar no fórum falando que foi útil.

    Mauricio Junior - Comunidade www.ecode10.com

    • Sugerido como Resposta Mauricio-Junior quinta-feira, 12 de abril de 2012 18:29
    quinta-feira, 12 de abril de 2012 18:29