Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Leozinho

Somar Coluna de DatagridView

Recommended Posts

Leozinho

Bom dia pessoal!

Sou novo em programação e também na comunidade.

Por favor, gostaria de saber como faço para somar uma coluna de datagridView com o seguinte critério ou condição:

D/C Valor

D 10,50

D 12,25

C -14,50

C -14,50

TextboxTotalDebito.text= somar todas as linhas da coluna "valor" verificando se na coluna "D/C" for igual a "D"

TextboxTotalCredito.text=.somar todas as linhas da coluna "valor" verificando se na coluna "D/C" for igual a "C"

Espero que tenha sido claro.

Agradeço muito desde já.

Leo

Share this post


Link to post
Share on other sites
Leozinho

Caro Cerzedelo, adaptei o código mas dá erro:

A conversão da cadeia de caracteres 'DC' no tipo 'Boolean' não é válida.

Não sei o que está errado. Acho que algo está faltando, ou seja, tem que percorrer todas as linhas, verificando se tem "D" ou "C", só então somar.

Aqui está o código:

Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click

If DataGridViewRegistros.ColumnHeadersVisible = "DC" Then

Dim Valor As Decimal

For Each col As DataGridViewRow In DataGridViewRegistros.Rows

valor = valor + col.Cells(8).Value ' numero 8 é a coluna "DC"

Next

TxtTotalDebito.Text = valor

End If

End Sub

Obrigado, conto com tua ajuda

Share this post


Link to post
Share on other sites
Cerzedelo

Se a datagridwiew contém uma coluna, onde tem registado D ou C consoante seja débito ou credito, o que terá de fazer é percorrer todas as linhas e colunas da datagridview, e quando encontrar a coluna onde está registado o D ou C, consoante essa letra, fazer a soma dos valores da coluna valor.

For i As Integer=0 To DataGridView1.Rows.Count-1
For j As Integer=0 To DataGridView1.Columns.Count-1
If (DataGridView1.Rows(i).Cells(j).Value=='D') Then
Soma+=DataGridView1.Rows(i).Cells(8).Value
Else if (DataGridView1.Rows(i).Cells(j).Value=='C') then
Soma1+=DataGridView1.Rows(i).Cells(8).Value
End if
Next
Next
TxtDebito.text=soma

O 8 será o numero da coluna no datagridview, onde tem os valores.

O código que postei, pode conter alguns erros, porque não o testei. Mas da para ficar com uma ideia do que se pretende.

Edited by Cerzedelo

Share this post


Link to post
Share on other sites
Leozinho

Caro Cerzedelo,

Testei o código e funcionou perfeitamente! Muito obrigado, conto sempre com sua ajuda.

Com certeza, vai ter dúvida.

Saudações!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.