C sharp - Sumar columna de un DataGridView

 
Vista:

Sumar columna de un DataGridView

Publicado por Pablo (1 intervención) el 10/06/2018 01:12:49
Hola gente, necesito sumar la columna monto de mi DataGridView pero unicamente las filas que contengan los valores desde 1 hasta 9 en la columna tipo_pago y que me devuelva lo sumado a un TextBox.

Muchas gracias de antemano por la ayuda
sds
Pablo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Milton Izaguirre
Val: 43
Ha aumentado 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Sumar columna de un DataGridView

Publicado por Milton Izaguirre (14 intervenciones) el 28/07/2018 19:20:41
Saludos:
Suponiendo que ya tenes validado si el usuario agrega o elimina una fila, te recomiendo una función para que puedas llamarla según el evento que realice el usuario ejemplo de la función:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Función que no devuelve nada
private void calculosdatagrid()
{
   double valor = 0; //declaramos una variable double
   foreach (System.Windows.Forms.DataGridViewRow row in dgvGrilla.Rows)
     {
         if (row.Cells["txtFormapago"].Value.ToString() != "")
            {
               int Tipopago = Convert.ToInt32(row.Cells["txtFormapago"].Value.ToString());
               if (Tipopago >= 1 && Tipopago <= 9) // (Tipopago <=9)
                 {
                    valor += Convert.ToDouble(row.Cells["txtMonto"].Value.ToString());
                 }
             }
      }
    this.txtTotalgeneral.Text = valor.ToString("###,##0.00"); //le damos formato a la variable y se la asigno al textbox
}
 
//En el evento del datagridview
//dgvGrilla_CellEndEdit
 
//Si el orden de la grilla es
//Cantidad-Codigo-Precio-Monto-Formadepago
if (e.ColumnIndex <=  4)
{
   //multiplicamos la cantidad por el precio y en monto ponemos el resultado ya con formato
   this.dgvGrilla["txtMonto",e.RowIndex].Value = (Convert.ToDouble(this.dgvGrilla["txtCantidad", e.RowIndex].Value.ToString())
                    *  Convert.ToDouble(this.dgvGrilla["txtPrecio", e.RowIndex].Value.ToString())).ToString("###,##0.00");
    calculosdatagrid(); // llamamos a la función
}

Puede pasar que el usuario cambie
la cantidad o el precio o el código del producto o la forma de pago

Te invito a visitar mi canal en youtube, estoy creando un sistema facturación e inventario desde cero
Programar en Csharp es fácil

https://www.youtube.com/user/MiltonIzaguirreMoral


Esta puede interesarte estoy personalizando la grilla:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar