SOMAR COLUNA

AMORIM 08/11/2017 19:31:03
#477722
Pessoal uma tabela com os seguintes ai beleza mais como faço para somar as coluna DEVEDOR+PARCELAMENTO no DataGridView e mostrar numa terceira coluna conforme abaixo
Devedor | Parcelamento | Valor Total
1 | 3 | 4
3 | 2 | 5
2 | 5 | 7
6 | 6 | 12
5 | 7 | 12
NOWLIGHTS 08/11/2017 19:39:25
#477723
Resposta escolhida
Faz a soma na hora de adicionar os dados na grid
NOWLIGHTS 08/11/2017 19:41:56
#477724
Ou faz assim;

For Each i As DataGridViewRow In DataGridView1.Rows
i.Cells(2).Value = i.Cells(0).Value + i.Cells(1).Value
Next
AMORIM 08/11/2017 19:47:09
#477725
Segue a função
Private Sub CarregaVendas()
Dim dr As OleDbDataReader = Nothing
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = [Ô][Ô]
sql = [Ô]SELECT CodCliente, Nome, Devedor, ValorParcelamento FROM tblCliente WHERE Devedor > 0 Or ValorParcelamento > 0[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
dgvTodas.DataSource = dt
Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub
NOWLIGHTS 08/11/2017 20:20:37
#477727
rivate Sub CarregaVendas()
Dim dr As OleDbDataReader = Nothing
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = [Ô][Ô]
sql = [Ô]SELECT CodCliente, Nome, Devedor, ValorParcelamento FROM tblCliente WHERE Devedor > 0 Or ValorParcelamento > 0[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
da.Fill(dt)
dgvTodas.DataSource = dt
  For Each i As DataGridViewRow In DataGridView1.Rows
i.Cells(2).Value = i.Cells(0).Value + i.Cells(1).Value
Next

Catch ex As Exception
Finally
con.Close()
End Try
End Using
End Sub

AMORIM 08/11/2017 20:49:58
#477728
Aqui com migo não funcionar
NOWLIGHTS 08/11/2017 21:09:28
#477730
  For i = 0 To dgvTodas.Rows.Count - 1
dgvTodas.CurrentCell = dgvTodas.Rows(i).Cells(0)
dgvTodas.CurrentRow.Cells(2).Value = dgvTodas.CurrentRow.Cells(0).Value + dgvTodas.CurrentRow.Cells(1).value
Next


A terceira coluna já existe no DataGrid?
AMORIM 08/11/2017 21:14:11
#477731
Olha o erro que aparece

O indice esta fora do Intervalo. Ele deve ser não-negativo e menor que o
tamanho da coleção
Nome do parâmetro index

CLEVERTON 08/11/2017 21:16:47
#477732
O Ideal quando se vai preencher um grid, é vincular ele a um List<T>. Dessa forma vc usa de abusa da namespace System.Linq

vc consegue fazer tudo, somar, pesquisar, filtrar, classificar, e tudo de uma forma tipada
NOWLIGHTS 08/11/2017 21:26:56
#477733
Citação:

O indice esta fora do Intervalo. Ele deve ser não-negativo e menor que o
tamanho da coleção
Nome do parâmetro index



é porque não tem uma terceira coluna... como o CLEVERTON disse, o certo seria um list<T> Da uma olhada

Sobre o erro, tente criar uma nova tabela no banco de dados Valor Total

AMORIM 08/11/2017 21:32:54
#477734
A terceira e Quarta coluna já existe no DataGrid? so que elas estão oculta.

No DataGrid vai aparecer assim

Cod.Cliente Nome do Cliente Total a Receber
75 Pedro Lima aqui var aparecer a soma do Devedor + Parcelamento
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas