查询出来的表dtSumNaturalWorkHour,根据PersonName,ProjectName对WorkHour求和。

varquery=dtSumNaturalWorkHour.AsEnumerable().GroupBy(d=>new{PersonName=d.Field<string>("PersonName"),ProjectName=d.Field<string>("ProjectName") }) .Select(g=>new { PersonName=g.Key.PersonName, ProjectName=g.Key.ProjectName, num=g.Sum(d=>Convert.ToDouble(d["WorkHour"])), });

只根据一列值group 的查询求和:根据PersonName对WorkHour求和.

vardt=dtSumNaturalWorkHour.Rows.Cast<DataRow>().GroupBy<DataRow,string>(row=>Convert.ToString(row["PersonName"])). Select(group=>new{group.Key,Value=group.Sum(x=>Convert.ToDouble(x["WorkHour"]))});