Somando valores no GridView

Somando valores no GridView

É 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 para criarmos uma nova tabela chamada Vendas e já adicionarmos alguns valores. (veja figura 1 e 2)


Figura1. 


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 aqui o html 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.config 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.DataRow)
       
         {
             
              if (!String.IsNullOrEmpty(row.Cells[5].Text))

                   ValorTotal += Decimal.Parse(row.Cells[5].Text);
          
         }

 }

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

Obs. Expressão Linq (grdVendas.Rows.Cast<DataRow>().Sum(dataRow => dataRow["5"].ToInt()))

No código acima, estamos fazendo um foreach percorrendo todas as linhas do GridView. Verificamos se é uma linha com dados (DataControlRowType.DataRow). 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#.

Para saber mais, veja:

DevBrasil
TechNet – MSDN 
Pegue o projeto

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

Valew Galera :)
 []s,
 Michaell Dantas
Classificar por: Data da Publicação | Mais Recente | Mais Úteis
Comentários
Página 1 de 1 (4 itens)