it-swarm.com.de

Wie berechnet man die Summe der datierbaren Spalte in asp.net?

Ich habe eine Datentabelle mit 5 Spalten:

  • ICH WÜRDE
  • Name
  • Kontonummer
  • Ast 
  • Menge

Die DataTable enthält 5 Zeilen.

Wie kann ich die Summe der Betragsspalte in einem Label Control als "Total Amount" anzeigen?

50
thevan

Verwenden Sie zum Berechnen der Summe einer Spalte in einer DataTable die Methode DataTable.Compute .

Anwendungsbeispiel aus dem verknüpften MSDN-Artikel:

DataTable table = dataSet.Tables["YourTableName"];

// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Amount)", string.Empty);

Zeigen Sie das Ergebnis in Ihrem Gesamtbetrag-Label wie folgt an:

lblTotalAmount.Text = sumObject.ToString();
113
Jay Riggs
 this.LabelControl.Text = datatable.AsEnumerable()
    .Sum(x => x.Field<int>("Amount"))
    .ToString();

Wenn Sie die Ergebnisse filtern möchten:

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

Du kannst es gerne machen ..

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

Wenn Sie eine ADO.Net-Datentabelle haben, können Sie dies tun

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

Wenn Sie die Datenbanktabelle abfragen möchten, können Sie verwenden

Select Sum(Amount) From DataTable
8
FIre Panda
  public decimal Total()
    {
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    }
5
Buntha Khin

Berechne die Summe der Spalten in der Datentabelle, funktioniert 100%

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

wenn Sie irgendwelche Bedingungen haben möchten, verwenden Sie es so

   lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();
4
Arun Prasad E S

Sie können Linq nach Namensgruppierung verwenden 

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

namensraum verwenden using System.Linq;

Sie finden die Beispielsumme, Zwischensumme, Gesamtsumme in datatable mit c # unter Myblog

Ich denke das löst sich

using System.Linq;


(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))
0

Versuche dies 

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