110,561
社区成员
发帖
与我相关
我的任务
分享
var result = ds.Tables[0].Rows.Cast<DataRow>().SelectMany(x => x["姓名"].ToString().Split(',').Select(y => new {
部门 = x["部门"],
姓名 = y,
中班次数 = x["中班次数"],
早班次数 = x["早班次数"],
午间次数 = x["午班次数"],
晚班次数 = x["晚班次数"] }))
.GroupBy(x => new { x.部门, x.姓名 }).Select(x => new
{
id=0,
x.Key.部门,
x.Key.姓名,
早班次数 = x.Sum(y => int.Parse(y.早班次数.ToString())),
中班次数 = x.Sum(y => int.Parse(y.中班次数.ToString())),
午班次数 = x.Sum(y => int.Parse(y.午间次数.ToString())),
晚班次数 = x.Sum(y => int.Parse(y.晚班次数.ToString())),
});
还是我写错了?为什么加id=0?id是哪来的?我的完整代码如上。
var result = ds.Tables[0].Rows.Cast<DataRow>().SelectMany(x => x["姓名"].ToString().Split(',').Select(y => new {
部门 = x["部门"],
姓名 = y,
中班次数 = x["中班次数"],
早班次数 = x["早班次数"],
午间次数 = x["午班次数"],
晚班次数 = x["晚班次数"] }))
.GroupBy(x => new { x.部门, x.姓名 }).Select(x => new
{
x.Key.部门,
x.Key.姓名,
早班次数 = x.Sum(y => int.Parse(y.早班次数.ToString())),
中班次数 = x.Sum(y => int.Parse(y.中班次数.ToString())),
午班次数 = x.Sum(y => int.Parse(y.午间次数.ToString())),
晚班次数 = x.Sum(y => int.Parse(y.晚班次数.ToString())),
});
this.GridView1.DataSource = result;
this.GridView1.DataBind();
代码我这样写是可以的,统计也没错,想问下为什么部门列没有显示,要怎样改才可以显示部门列?tks