É muito comum em nossos aplicativos web (webforms) utilizarmos o controle do asp.net GridView para exibirmos informações de uma fonte de dados. Ele é bastante completo, com suporte a paginação, ordenação, edição de dados e etc.
Porém, algumas funcionalidades que as vezes necessitamos não vem implementado em suas classes, como por exemplo, somar os valores de uma coluna específica de um grid. E é justamente isso que vamos aprender neste artigo usando nosso querido C#,  let's go !!!!

Primeiramente, vamos criar nosso banco de dados. Abra o Microsoft SQL Server Management Studio (estou usando o 2012, mas você pode usar uma versão anterior), crie um banco de dados chamado TesteDB ou der o nome que desejar. Copie e execute o script (link no final do artigo) para criarmos uma nova tabela chamada Vendas e já adicionarmos alguns valores. (veja figura 1 e 2)

Figura 1.

Figura 2.

Criado nosso banco de dados, vamos agora criar a nossa aplicação. Abra o Visual Studio 2010 e crie um novo projeto do tipo ASP.NET Web Application, clicando em File > New > Project. Dê um nome para sua aplicação e clique em OK. (veja figura 3)

Figura 3.

Depois de criado nosso aplicativo, vamos adicionar nossos controles à página. Como nosso objetivo não é ensinar como fazer isso e nem explicar como fazer a conexão com o banco de dados, pegue o arquivo html no final do artigo, com os controles já pronto e adicione na página Default.aspx criada, apagando todo o conteúdo que está entre o Content BodyContent. (Veja a figura 4)

Figura 4.

Figura 5.

Se você fez tudo corretamente, sua página deve estar conforme a figura 5 acima.

Agora, vamos preencher nosso gridview para podermos manipular os valores. No aba Solution Explorer, clique no arquivo Web.confige e adicione a string de conexão abaixo entre as tags <connectionStrings></connectionStrings>. (veja figura 6)

<add name="TesteBDConnectionString" connectionString="Data Source=MICHAELL-PC;Initial Catalog=TesteBD;Integrated Security=True"providerName="System.Data.SqlClient" />

Figura 6.

Feito tudo isso, já estamos com nossa aplicação com layout pronto e conectada com a fonte de dados. Agora, vamos ao que interessa, somar os valores de uma coluna do nosso gridview.

No modo Design da página Default.aspx, dê um duplo clique no botão Calcular. Automaticamente somos levados ao evento Click do botão. Neste espaço, colocaremos tudo que queremos que seja feito quando o usuário clicar no botão. No nosso caso, somar a coluna com os valores.

Dentro do evento btnCalcular_Click, adicione o seguinte código:

decimal ValorTotal = 0;

foreach (GridViewRow row in grdVendas.Rows)
 {
if (row.RowType != DataControlRowType.Header && row.RowType!=DataControlRowType.Footer)

{

    if (row.Cells[5].Text != null && row.Cells[5].Text !=string.Empty)
     {
                ValorTotal += Convert.ToDecimal(row.Cells[5].Text);
          }

      }

 }

lblValorTotal.Text = ValorTotal.ToString("C2");

No código acima, estamos fazendo um foreach percorrendo todas as linhas do GridView. Verificamos se não é nem cabeçalho e nem rodapé (row.RowType != DataControlRowType.Header && row.RowType!=DataControlRowType.Footer). E atribuímos o valor da coluna 5 ("SubTotal". A contagem começa com Zero) à variável ValorTotal. E finalizamos mostrando o valor na Label lblValorTotal. O ToString("C2")é pra deixar o valor no formato da moeda Real.

Se tudo estive ok, assim eu espero, quando você rodar sua aplicação e clicar em Calcular, a soma dos valores vai aparecer logo abaixo do botão. Rode sua aplicação clicando em Ctrl + F5 e veja o resultado. (veja figura 7 e 8)

Figura 7.

Figura 8.

Bom, é isso aí !!! Vimos então nesse artigo como somar os valores de uma coluna de um GridView utilizando nosso mágico C#.

Espero que tenham gostado do artigo e que ele possa ter sido útil pra vocês. :)

Valew Galera :)
[]s,
Michaell Dantas

Para saber mais:

Aprofunde seus conhecimentos sobre esse tema na comunidade ASP.NET
Aprofunde seus conhecimentos sobre esse tema na comunidade C#
TechNet – MSDN
Pegue o projeto
Microsoft SQL Server Management Studio
Script do Banco
Arquivo Html

Exibições: 3602

Comentar

Você precisa ser um membro de DevBrasil para adicionar comentários!

Entrar em DevBrasil

Comentário de VINICIUS VENDRAMEL GALHIARDI em 3 janeiro 2013 às 15:46

Michaell Dantas,  tudo bem? Sabe por que da este erro em minha aplicação? Já populei a grid , falta apenas ver o porque de não aceitar esse RowType..abraços

Comentário de Michaell Dantas em 20 novembro 2012 às 12:46

Valew amigos !!

Comentário de Renan Silveira em 7 novembro 2012 às 7:00

Muito bom...  Parabéns.

Comentário de Paulo César em 6 novembro 2012 às 10:16

boa...

usei em dataGridview  em Windowns form  com algumas pequenas mudanças ...e deu certo..

muito bom..... valeu

Comentário de VINICIUS VENDRAMEL GALHIARDI em 29 outubro 2012 às 19:57

Muito bom! Parabéns!

Comentário de Haroldo Moraes de Souza em 29 outubro 2012 às 7:23

Muito bom Parabéns !

Comentário de Michaell Dantas em 26 outubro 2012 às 23:36

Valew  Cleiton !!!!!

Comentário de Cleiton Felipe de Moraes em 26 outubro 2012 às 22:02

Show mano...muito bom...

© 2020   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço