SOMAR GRUPO DATAGRIDVIEW
Bom dia Galera, Preciso de uma força para terminar minha rotina:
Funciona assim, ele soma os grupo e joga total na ultima linha, assim:
coluna 1 coluna 3 coluna 4
ITEM 1 = 1
ITEM 1 = 2
ITEM 1 = 3
TOTAL = 6
ITEM 2 = 10
ITEM 2 = 5
ITEM 2 = 10
TOTAL = 25
Assim por diante
Eu monteà essa rotina,só que até agora sem sucesso
Dim Soma As Integer
Dim i As Integer
Dim categoria As String
i = 0
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value <> [Ô][Ô]
categoria = DataGridView1.Item([Ô]Coluna1[Ô], i).Value
i = i + 1
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], i).Value
i = i + 1
Loop
DataGridView1.Item([Ô]Coluna4[Ô], i - 1).Value = Soma
Soma = 0
Loop
End Sub
Aguem da uma luz ai
Funciona assim, ele soma os grupo e joga total na ultima linha, assim:
coluna 1 coluna 3 coluna 4
ITEM 1 = 1
ITEM 1 = 2
ITEM 1 = 3
TOTAL = 6
ITEM 2 = 10
ITEM 2 = 5
ITEM 2 = 10
TOTAL = 25
Assim por diante
Eu monteà essa rotina,só que até agora sem sucesso
Dim Soma As Integer
Dim i As Integer
Dim categoria As String
i = 0
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value <> [Ô][Ô]
categoria = DataGridView1.Item([Ô]Coluna1[Ô], i).Value
i = i + 1
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], i).Value
i = i + 1
Loop
DataGridView1.Item([Ô]Coluna4[Ô], i - 1).Value = Soma
Soma = 0
Loop
End Sub
Aguem da uma luz ai
Estive com problema similar, no meu caso era somar a coluna da dgv e apresentar o total dos valores gastos na tabela:
Dim total As Double [ô] No caso eu criei uma variável para armazenar o valor total
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]nomeDaColunaQueSeraSomada[Ô]).Value [ô]aqui ele pega o nome da coluna q irei utilizar
Next
txtTotal.Text = total [ô]a textbox é só para poder apresentar no Formulario
txtTotal.Text = FormatNumber(txtTotal.Text) [ô]formatação da textbox
Onde dgv é o nome do DataGridView
txtTotal.Text é o nome do TextBox
No seu caso vc vai ter q criar dois destes da mesma forma, um para o item 1 e outro para o item 2, criar 2 variaveis de total para armazenar o resultado e não perder as informações de ambos os itens.
Ficaria +/- assim:
Dim total1 As Double
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]Item1[Ô]).Value
Next
txtTotal.Text = total1
txtTotal.Text = FormatNumber(txtTotal.Text)
Dim total2 As Double
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]Item2[Ô]).Value
Next
txtTotal.Text = total1
txtTotal.Text = FormatNumber(txtTotal.Text)
Dim total As Double [ô] No caso eu criei uma variável para armazenar o valor total
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]nomeDaColunaQueSeraSomada[Ô]).Value [ô]aqui ele pega o nome da coluna q irei utilizar
Next
txtTotal.Text = total [ô]a textbox é só para poder apresentar no Formulario
txtTotal.Text = FormatNumber(txtTotal.Text) [ô]formatação da textbox
Onde dgv é o nome do DataGridView
txtTotal.Text é o nome do TextBox
No seu caso vc vai ter q criar dois destes da mesma forma, um para o item 1 e outro para o item 2, criar 2 variaveis de total para armazenar o resultado e não perder as informações de ambos os itens.
Ficaria +/- assim:
Dim total1 As Double
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]Item1[Ô]).Value
Next
txtTotal.Text = total1
txtTotal.Text = FormatNumber(txtTotal.Text)
Dim total2 As Double
For Each col As DataGridViewRow In dgv.Rows
total += col.Cells([Ô]Item2[Ô]).Value
Next
txtTotal.Text = total1
txtTotal.Text = FormatNumber(txtTotal.Text)
Obrigado pela atenção MOUSE, então MOUSE oque pretendo é um pouco mais complexo meu caso, pra voce entender melhor da uma olhada na imagem, o codigo que criei ta somando errado, ele sempre deixa de somar a primeira linha do grupo
Dim Soma As Integer
Dim i As Integer
Dim categoria As String
i = 0
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value <> [Ô][Ô]
categoria = DataGridView1.Item([Ô]Coluna1[Ô], i).Value
[ô] DataGridView1.Rows.Add(i)
[ô]DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
i = i + 1
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], i).Value
i = i + 1
Loop
DataGridView1.Item([Ô]Coluna4[Ô], i).Value = Soma
Soma = 0
Loop
Se alguem souber onde estou errando por favor da um força..
Dim Soma As Integer
Dim i As Integer
Dim categoria As String
i = 0
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value <> [Ô][Ô]
categoria = DataGridView1.Item([Ô]Coluna1[Ô], i).Value
[ô] DataGridView1.Rows.Add(i)
[ô]DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
i = i + 1
Do While DataGridView1.Item([Ô]Coluna1[Ô], i).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], i).Value
i = i + 1
Loop
DataGridView1.Item([Ô]Coluna4[Ô], i).Value = Soma
Soma = 0
Loop
Se alguem souber onde estou errando por favor da um força..
Vou dar uma estudada no seu código, hj vai ser um pouco difÃcil te garantir uma resposta. mas vou tentar criar uma logica de linguagem do seu projeto, e se vc permitir, eu salvo a imagem do seu projeto, e também crio um modelo parecido com o seu para facilitar e mostrar para alguns professores amigos meus, mas preciso primeira mente ver a disponibilidade deles em nos ajudar, seu projeto me deu uma ideia, posso utiliza-lo no meu só modificando algumas coisas? q estou criando um projeto de vendas, e o q pretendo fazer é similar ao seu projeto, calcular o subtotal e apresentar no datagrid (dgv). Mas por favor se alguém souber, conseguir encontrar algum erro neste código, agradeceremos...
Pessoal,
O grid tem linhas e colunas, onde:
grid.Rows.add
grid.Rows(grid.Rows.count-1).Cells(0).Value=[Ô]CodProduto[Ô]
grid.Rows(grid.Rows.count-1).Cells(1).Value=[Ô]Produto[Ô]
grid.Rows(grid.Rows.count-1).Cells(2).Value=[Ô]VlrProduto[Ô]
Acima, ultima linha inserida no grid e suas respectivas colunas
Para somar a coluan desejada. vlr do produto por exemplo.
For i = 0 to grid.Rows.Count-1
Soma+=grid.Rows(i).Cells(2).Value
next
msgbox Soma
O grid tem linhas e colunas, onde:
grid.Rows.add
grid.Rows(grid.Rows.count-1).Cells(0).Value=[Ô]CodProduto[Ô]
grid.Rows(grid.Rows.count-1).Cells(1).Value=[Ô]Produto[Ô]
grid.Rows(grid.Rows.count-1).Cells(2).Value=[Ô]VlrProduto[Ô]
Acima, ultima linha inserida no grid e suas respectivas colunas
Para somar a coluan desejada. vlr do produto por exemplo.
For i = 0 to grid.Rows.Count-1
Soma+=grid.Rows(i).Cells(2).Value
next
msgbox Soma
Obrigado pela atenção NELSONTRES, então ainda ta fora do que procuro, preciso fazer a soma por grupo, e não somar a coluna inteira, eu vou somando os grupos e jogando a somatoria em outra coluna datagridview
Tenta isso aqui:
dim ii as integer
Do While DataGridView1.Item([Ô]Coluna1[Ô], ii).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], ii).Value
ii = ii + 1
Loop
ii=0
dim ii as integer
Do While DataGridView1.Item([Ô]Coluna1[Ô], ii).Value = categoria
Soma = Soma + DataGridView1([Ô]Coluna3[Ô], ii).Value
ii = ii + 1
Loop
ii=0
Deu certo não NILSONTRES
boa noite
veja este link, tem bastante exemplo
http://www.agrinei.com/gridviewhelper/gridviewhelper_pt.htm
veja este link, tem bastante exemplo
http://www.agrinei.com/gridviewhelper/gridviewhelper_pt.htm
Morceli, me explica certinho, não entendi direito o que você quer fazer, qualquer coisa, me adiciona no Skype Cabrera.cajobi@hotmail.com pois já fiz isto que voe quer fazer ou parecido.
Obrigado pela atenção CABRERA, então preciso somar o datagridview por grupo, tipo um relatorio só que usando datagridview, Igual o anexo..se voce tiver alguma coisa parecida pra mim adaptar, pode passar no meu E-mail fazendo um favor cleiton_morceli@hotmail.com
Tópico encerrado , respostas não são mais permitidas