我想在数据表中按名称分组,LastName和其余的应该在同一行中。有人能帮我一下吗?
我的DataTable:
Name LastName 1 3 2
kiki ha FF
lola mi AA
ka xe UU
kiki ha SS我想让DataTable按名称分组:
Name LastName 1 3 2
kiki ha FF SS
lola mi AA
ka xe UU我的新代码:
var result11 = from t1 in newtable.AsEnumerable()
group t1 by new { Name = t1.Field<String>("Name"), LastName = t1.Field<String>("LastName") } into grp
select new
{
Name = grp.Key.Name,
LastName = grp.Key.LastName,
//Something must be there
};发布于 2012-10-16 20:10:58
添加以下行,而不是注释(//something must be there):
C1 = String.Join(",", grp.Select(r=>r.Field<String>("1"))),
C2 = String.Join(",", grp.Select(r=>r.Field<String>("2"))),
C3 = String.Join(",", grp.Select(r=>r.Field<String>("3")))在输出中获得三个新列,这三个列聚合了1、3和2列的值。
如果组的某一列中有多个值,则所有值都将显示,并用逗号(,)分隔。
如果您确定每个组的每列最多只能有一个值,那么您可以简单地这样做:
C1 = grp.Max(r => r.Field<String>("1")),
C3 = grp.Max(r => r.Field<String>("3")),
C2 = grp.Max(r => r.Field<String>("2"))https://stackoverflow.com/questions/12914261
复制相似问题