繁体   English   中英

Linq从同一个表中分离出值并绑定到gridview

[英]Linq to seperate value from same table and bind to gridview

我有下表:

      ID    |  Type |   Desc    | Amount
  ---------------------------------------
  Stationery|  Pen  |  Red Pen  |  1.00
  Stationery|  Pen  |  Blue Pen |  1.10
  Stationery| Ruler |  A Ruler  |  1.50
  Stationery| Ruler |  B Ruler  |  1.40

我想获取不同类型的总金额。 笔的总和为2.10,标尺的总和为2.90。 我该如何实现? 我尝试使用“分组依据”。 这是我的查询:

From c In DB.Shop 
Group By c.Type 
Into TotalAmount=Sum(c.Amount) Select Type,TotalAmount

然后,我将选择值并绑定到gridview。 将数据绑定到gridview对我来说不是问题。 gridview的预期结果如下:

     ID    |  PenAmount | RulerAmount
-------------------------------------
 Stationery|    2.10    |   2.90 

请帮忙。 谢谢

这是一个例子:

var query =
    (from c in DB.Shop
    group c by c.Type
    into grp
    select new
    {
        type = grp.Key,
        value = grp.Sum(g => g.Amount)
    });

grp.Key将包含c.Type因为由Type属性构造的分组。 您可能需要进行一些调整才能获得准确的工作代码,因为我没有测试上面的linq,并且我不完全了解您的对象模型。

尝试这个

var query =
    (from c in DB.Shop
    group c by c.Type
    into grp
    select new
    {
        Type= g.Key,
        PenAmount = g.Where(c => c.Type=="Pen").Sum(c => c.Amount),
        RulerAmount= g.Where(c => c.Type=="Ruler").Sum(c => c.Amount),

    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM