Comment calculer la somme de la colonne asp.net je ne sais pas.
j'ai un DataTable qui a 5 colonnes:
- ID
- Nom
- Numéro De Compte
- Branche
- Montant
le DataTable contient 5 lignes.
Comment puis-je afficher la somme de la colonne Quantité dans une étiquette de contrôle comme "quantité totale"?
9 réponses
Pour calculer la somme d'une colonne dans une Table DataTable.Calculer méthode.
exemple d'utilisation de L'article MSDN lié:
DataTable table = dataSet.Tables["YourTableName"];
// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Amount)", string.Empty);
afficher le résultat dans votre étiquette de quantité totale comme suit:
lblTotalAmount.Text = sumObject.ToString();
this.LabelControl.Text = datatable.AsEnumerable()
.Sum(x => x.Field<int>("Amount"))
.ToString();
si vous voulez filtrer les résultats:
this.LabelControl.Text = datatable.AsEnumerable()
.Where(y => y.Field<string>("SomeCol") != "foo")
.Sum(x => x.Field<int>("MyColumn") )
.ToString();
Vous pouvez faire comme..
DataRow[] dr = dtbl.Select("SUM(Amount)");
txtTotalAmount.Text = Convert.ToString(dr[0]);
si vous avez un ADO.Net DataTable you could do
int sum = 0;
foreach(DataRow dr in dataTable.Rows)
{
sum += Convert.ToInt32(dr["Amount"]);
}
Si vous souhaitez interroger la table de base de données, vous pouvez utiliser
Select Sum(Amount) From DataTable
public decimal Total()
{
decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
return decTotal;
}
calculer la somme de la colonne dans datable, fonctionne à 100%
lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "").ToString();
si vous voulez avoir toutes les conditions, l'utiliser comme ceci
lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();
vous pouvez utiliser Linq par groupe de noms
var allEntries = from r in dt.AsEnumerable()
select r["Amount"];
utiliser l'Espace nom using System.Linq;
vous pouvez trouver le total de l'échantillon,sous-total,grand total dans datable en utilisant c# à Myblog
Essayez ceci
int sum = 0;
foreach (DataRow dr in dt.Rows)
{
dynamic value = dr[index].ToString();
if (!string.IsNullOrEmpty(value))
{
sum += Convert.ToInt32(value);
}
}
je pense que cela résout
using System.Linq;
(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))