簡體   English   中英

C#DataTable組並加到New DataTable中

[英]C# DataTable group and sum into New DataTable

我有一個這樣的數據表:

id   itemcode   uom   rate      qty   smallest_qty  location

001  Item001    KG    1000.00   1     1000          1001
002  Item001    G     1.00      200   200           1001
003  Item002    Pcs   1.00      10    10            1001
004  Item002    PKT   30.00     2     60            1001

我想像下面的表一樣分組到新表中:

itemcode    location   smallest_qty

Item001     1001       1200
Item002     1001       70

但是我嘗試編譯以下內容以生成目標表,但失敗了。

DataTable dt_1 = dt.AsEnumerable()
     .GroupBy(r => r.Field<String>("itemcode"),
              r => r.Field<String>("location"))
     .Select (g =>
              {
                  var row = dt.NewRow();

                  row["itemcode"] = g.Key.itemcode;
                  row["location"] = g.Key.location;
                  row["smallest_qty"] = g.Sum(r => r.Field<Decimal>("smallest_qty"));

                  return row;
               }).CopyToDataTable();
DataTable dt_1 = dt.AsEnumerable()
     .Select(a => new {   
                  itemcode = a.Field<String>("itemcode"),
                  location = a.Field<String>("location"),
                  smallest_qty = a.Field<Decimal>("smallest_qty")                                                    
                       })
     .GroupBy(r => new{r.itemcode,r.location})
     .Select(g =>{
                   var row = dt.NewRow();
                   row["itemcode"] = g.Key.itemcode;
                   row["location"] = g.Key.location;
                   row["smallest_qty"] = g.Sum(r => r.smallest_qty);
                   return row;
     }).CopyToDataTable();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM