sumar columna de un datagridview
Publicado por Francisco (30 intervenciones) el 17/09/2014 11:56:00
Hola, he preguntado ya esto por aqui pero no consigo dar con la solución.
Estoy intentando recorrer un datagrid para sumar sus columnas (cada una por su cuenta) , sin embargo, solo he conseguido sumar las filas, y ademas con el campo Id, el cual no quiero sumar. Este es el bucle que uso
For Each fila As DataGridViewRow In gridTiempos.Rows
For Each columna As DataGridViewCell In fila.Cells
Dim value As Object = columna.Value
If ((value Is Nothing) OrElse (value Is DBNull.Value)) Then
' la celda esta vacia
valor = valor + 0
Else
valor = valor + value
End If
MsgBox(valor)
'Next
Next
Next
Este bucle lo que me hace es ir por cada fila sumandome los valores, sin embargo,yo lo que quiero es que vaya por columnas, y si cambio el orden de los bucles "For Each", que seria lo lógico, me dice que la instruccion "Cells" no se puede usar con DataGridViewColumn, por lo que no se como recorrerlo entonces.
Una vez que consiguiese recorrer por columnas tambien necesitaria decirle que la primera columna no la cuente porque es el campo "Id", y que cuando llegue al final de la columna me guarde ese numero y empiece a contar desde 0 en la columna siguiente para una nueva suma.
Este es mi grid actual (puede que en el futuro tenga mas columnas, por eso uso el For each)
1 ............. 5,00000 5,00000 7,00000 4,00000 8,00000
2 2,00000 7,00000 5,00000 4,00000 5,00000 8,00000
3 3,00000 ............. 3,00000 3,00000 2,00000 5,00000
4 4,00000 4,00000 4,00000 5,00000 4,00000 .............
Tendria que devolverme :
Primera columna(Segunda si no contamos Id) = 9
Segunda columna = 16
Tercera columna = 17
Cuarta columna =19
Quinta columna = 15
Sexta columna = 21
Alguien me puede echar una mano por favor????
Muchas gracias de antemano!!
Estoy intentando recorrer un datagrid para sumar sus columnas (cada una por su cuenta) , sin embargo, solo he conseguido sumar las filas, y ademas con el campo Id, el cual no quiero sumar. Este es el bucle que uso
For Each fila As DataGridViewRow In gridTiempos.Rows
For Each columna As DataGridViewCell In fila.Cells
Dim value As Object = columna.Value
If ((value Is Nothing) OrElse (value Is DBNull.Value)) Then
' la celda esta vacia
valor = valor + 0
Else
valor = valor + value
End If
MsgBox(valor)
'Next
Next
Next
Este bucle lo que me hace es ir por cada fila sumandome los valores, sin embargo,yo lo que quiero es que vaya por columnas, y si cambio el orden de los bucles "For Each", que seria lo lógico, me dice que la instruccion "Cells" no se puede usar con DataGridViewColumn, por lo que no se como recorrerlo entonces.
Una vez que consiguiese recorrer por columnas tambien necesitaria decirle que la primera columna no la cuente porque es el campo "Id", y que cuando llegue al final de la columna me guarde ese numero y empiece a contar desde 0 en la columna siguiente para una nueva suma.
Este es mi grid actual (puede que en el futuro tenga mas columnas, por eso uso el For each)
1 ............. 5,00000 5,00000 7,00000 4,00000 8,00000
2 2,00000 7,00000 5,00000 4,00000 5,00000 8,00000
3 3,00000 ............. 3,00000 3,00000 2,00000 5,00000
4 4,00000 4,00000 4,00000 5,00000 4,00000 .............
Tendria que devolverme :
Primera columna(Segunda si no contamos Id) = 9
Segunda columna = 16
Tercera columna = 17
Cuarta columna =19
Quinta columna = 15
Sexta columna = 21
Alguien me puede echar una mano por favor????
Muchas gracias de antemano!!
Valora esta pregunta


0