c# asp.net user-controls datatable

c# - ¿Cómo calcular la suma de la columna datatable en asp.net?



user-controls (9)

Tengo una DataTable que tiene 5 columnas:

  • CARNÉ DE IDENTIDAD
  • Nombre
  • Número de cuenta
  • Rama
  • Cantidad

El DataTable contiene 5 filas.

¿Cómo puedo mostrar la suma de la columna de cantidad en un control de etiqueta como "Importe total"?


Calcular suma de columna en Datatable, funciona al 100%

lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "").ToString();

si quieres tener alguna condición, úsala así

lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();


Creo que esto soluciona

using System.Linq; (datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))


Para calcular la suma de una columna en una DataTable, use el método DataTable.Compute .

Ejemplo de uso del artículo MSDN vinculado:

DataTable table = dataSet.Tables["YourTableName"]; // Declare an object variable. object sumObject; sumObject = table.Compute("Sum(Amount)", string.Empty);

Muestre el resultado en su etiqueta de cantidad total así:

lblTotalAmount.Text = sumObject.ToString();


Prueba esto

int sum = 0; foreach (DataRow dr in dt.Rows) { dynamic value = dr[index].ToString(); if (!string.IsNullOrEmpty(value)) { sum += Convert.ToInt32(value); } }


Puede usar Linq por agrupación de nombres

var allEntries = from r in dt.AsEnumerable() select r["Amount"];

usando el espacio de nombres using System.Linq;

Puede encontrar el total de la muestra, el subtotal, el total general en la tabla de datos usando c # en Myblog


Puedes hacer como ..

DataRow[] dr = dtbl.Select("SUM(Amount)"); txtTotalAmount.Text = Convert.ToString(dr[0]);


Si tiene una DataTable ADO.Net, podría hacer

int sum = 0; foreach(DataRow dr in dataTable.Rows) { sum += Convert.ToInt32(dr["Amount"]); }

Si desea consultar la tabla de la base de datos, puede usar

Select Sum(Amount) From DataTable


public decimal Total() { decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)",""); return decTotal; }


this.LabelControl.Text = datatable.AsEnumerable() .Sum(x => x.Field<int>("Amount")) .ToString();

Si quieres filtrar los resultados:

this.LabelControl.Text = datatable.AsEnumerable() .Where(y => y.Field<string>("SomeCol") != "foo") .Sum(x => x.Field<int>("MyColumn") ) .ToString();