![](/img/trans.png)
[英]retrieve last value from table in linq Extention method and bind with DataGridView
[英]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.