Como criar um total no rodapé do controle GridView do ASP.NET?
Vc sabia que é possível criar um totalizador de colunas no rodapé do controle GridView do ASP.NET, mesmo que vc tenha paginação? Tenha em mente estas colunas no GridView: ID | Produto | Preco | Qtde
O que vc tem que fazer é criar o seguinte código no evento DataBound do GridView para somar a coluna Qtde e exibir o total no rodapé:
protected void GridView1_DataBound(object sender, EventArgs e)
{
decimal Total = 0;
foreach (GridViewRow row in GridView1.Rows)
{
// converte o preco e a qtde para multiplicar e somar no total
decimal preco = decimal.Parse(row.Cells[2].Text);
int qtde = Int32.Parse(row.Cells[3].Text);
Total += preco * qtde;
}
GridViewRow footer = GridView1.FooterRow;
footer.Cells[0].ColumnSpan = 3;
footer.Cells[0].HorizontalAlign = HorizontalAlign.Center;
footer.Cells.RemoveAt(2);
footer.Cells.RemoveAt(1);
footer.Cells[0].Text = string.Format("Stock value: {0:n2}", myStock);
}
Veja este exemplo ao vivo em http://www.renatohaddad.com/GridView/GridTotalRodape.aspx
Mais exemplos do GridView, consute o CD Um Mergulho no controle GridView em http://www.renatohaddad.com/videos.aspx
Bons estudos!!