后台代码:
datatable:dtSource
//汇总统计
var q1 = from dt1 in dtSource.AsEnumerable()//查询
orderby dt1.Field<string>("字段1") descending//排序
where dt1.Field<DateTime>("字段2") > DateTime.Now //条件 可用 == != 等表达式
group dt1 by new { A1 = dt1.Field<string>("字段3") } into m
select new
{
areaName = m.Key.A1,
AGENTLICENSE = m.Sum(n1 => Convert.ToDecimal(n1["AGENTLICENSE"])),
OUTBOUNDLICENSE = m.Sum(n2 => Convert.ToDecimal(n2["OUTBOUNDLICENSE"])),
INBOUNDLICENSE = m.Sum(n3 => Convert.ToDecimal(n3["INBOUNDLICENSE"]))
};
//使用得到的结果
if (q1.ToList().Count > 0)
{
q1.ToList().ForEach(q =>
{
a= q.areaName;
b= q.OUTBOUNDLICENSE;
c= q.INBOUNDLICENSE;
d= q.AGENTLICENSE;
}
}
//转换成datatable,注意dtRtn要有同样的列:
if (q1.ToList().Count > 0)
{
q1.ToList().ForEach(q => dtRtn.Rows.Add(q.a, q.b, q.c, q.d));
}