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();