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"?

46
demandé sur Tiny Giant 2011-05-05 09:18:26

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();
105
répondu Jay Riggs 2018-06-01 08:48:12
 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();
26
répondu Thomas 2018-06-01 08:47:53

Vous pouvez faire comme..

DataRow[] dr = dtbl.Select("SUM(Amount)");
txtTotalAmount.Text = Convert.ToString(dr[0]);
15
répondu Muhammad Akhtar 2011-05-05 05:30:50

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
8
répondu FIre Panda 2011-05-05 05:28:18
  public decimal Total()
    {
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    }
5
répondu Buntha Khin 2012-11-08 05:16:05

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();
4
répondu Arun Prasad E S 2016-04-06 17:25:02

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

2
répondu Kutty Rajesh Valangai 2016-02-26 13:37:42

Essayez ceci

int sum = 0;
foreach (DataRow dr in dt.Rows)
{
     dynamic value = dr[index].ToString();
     if (!string.IsNullOrEmpty(value))
     { 
         sum += Convert.ToInt32(value);
     }
}
0
répondu Academy of Programmer 2016-09-12 13:35:16

je pense que cela résout

using System.Linq;


(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))
0
répondu Jonathan Santiago 2017-10-09 16:43:10