Suma de Columna Datagrid en Visual Basic [SOLUCIONADO]

Una de las operaciones más comunes al trabajar con Datagrids en Visual Basic es la suma de los valores de una columna. Por lo general, esto se realiza para obtener totales o subtotales de ciertos datos numéricos. Hoy te mostraremos cómo conseguirlo.

Antes que nada, es vital entender el funcionamiento del Datagrid. Esta es una estructura en forma de tabla que permite presentar y manipular datos en filas y columnas. Cada celda de la tabla puede contener un dato, que puede ser texto, números, imágenes, etc.

El primer paso para realizar una suma sobre una columna es tener acceso al Datagrid. A continuación, se muestra un ejemplo simple de cómo podríamos tener una estructura de un datagrid en Visual Basic. Recuerda que puedes copiar el código utilizando el botón “Copiar”.

DataGridView1.Columns(0).Name = "Nombre"
DataGridView1.Columns(1).Name = "Edad"
DataGridView1.Rows.Add("Juan", 23)
DataGridView1.Rows.Add("Pedro", 25)
DataGridView1.Rows.Add("Ana", 20)
        

El código anterior simplemente configura dos columnas, “Nombre” y “Edad”, y añade tres filas con datos. La segunda columna contiene datos numéricos, por lo tanto, es posible realizar una suma sobre ella.

Para realizar la suma de valores de la columna “Edad”, primero tendremos que recorrer todas las filas, accediendo a los valores de la segunda columna de cada una. Esto se puede hacer utilizando un bucle. A medida que accedemos a los valores, los sumamos a un acumulador.

Dim total As Integer = 0
For Each row As DataGridViewRow In DataGridView1.Rows
    total += Convert.ToInt32(row.Cells("Edad").Value)
Next
MessageBox.Show("El total es " & total)
        

El código anterior recorre todas las filas utilizando un bucle For Each, accede a la celda correspondiente a la columna “Edad” de cada fila, convierte su valor a entero (ya que los datos en las celdas de un Datagrid son de tipo Object), y suma ese valor al total. Finalmente, muestra el total. Este procedimiento es el estándar para sumar los valores de una columna en datagrid de Visual Basic.

Este procedimiento funciona bien en situaciones donde necesitamos sumar todos los valores de la columna. Pero, ¿qué pasa si queremos sumar los valores de acuerdo a ciertos criterios,
como sumar solo las edades de las personas llamadas “Juan” o sumar solo las edades que son mayores a 20? En este caso, necesitamos introducir una condición dentro de nuestro bucle.

Dim total As Integer = 0
For Each row As DataGridViewRow In DataGridView1.Rows
    If row.Cells("Nombre").Value = "Juan" Then
        total += Convert.ToInt32(row.Cells("Edad").Value)
    End If
Next
MessageBox.Show("El total es " & total)
        

El código anterior solamente suma las edades de las filas donde el nombre es “Juan”. Similarmente, podemos introducir cualquier condición que nos permita sumar solo los valores que cumplen con dicha condición.

La manipulación de datagrids para la suma de columnas es una habilidad valiosa para cualquier programador que trabaje con Visual Basic. Este concepto básico abre la puerta a técnicas más avanzadas, como la agrupación y filtrado de datos, la creación de subtotales y totales, entre otros. Esperamos que esta publicación te haya sido de ayuda para entender y aplicar esta funcionalidad en tus proyectos de programación.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad