2013-11-27 27 views
0

我想在列的数据类型是动态的Datatable列上执行GroupBy。 即如何在列数据类型为动态的Datatable列中执行groupby操作?

public List<string> GetGroupBy(DataTable dt, String ColumnDatatype, String ColumnName) 
    { 
     return (from r in dt.AsEnumerable() 
       group r by new 
       { 
        GrpList = r.Field<ColumnDatatype>(ColumnName) 
       } into g 
       select new { g.Key.GrpList }).ToList(); 
    } 

这不能把ColumnDatatype给我错误。我正在使用框架3.5。

上面的事情能做到吗?

回答

2

您可以使用索引,而不是Field<T>这样的:

return (from r in dt.AsEnumerable() 
     group r by r[ColumnName] into g 
     select new { g.Key.GrpList }).ToList(); 
相关问题