如何在数据表中分组数据(GridView样式)

时间:2013-01-14 23:33:10

标签: c# .net

对于特殊要求,我们创建了自己的HTML表格,就像网格视图一样。它从DataTable获取数据并填充TD和TR单元

我们希望像网格视图一样实现分组功能,我们在其中指定列名称并将所有值分组。

如何直接在DataTable中执行分组,然后按原样输出行?我可以使用Linq吗?请指点示例。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用DataTableIEnumerable转换为AsEnumerable(确保添加对System.Data.DataSetExtensions的引用)。

然后使用GroupBy对数据进行分组。它将返回IEnumerable<IGrouping<TKey, TSource>>,其中每个IGrouping<TKey, TElement>对象包含一组对象和一个键。例如:

var groups = dt.AsEnumerable().GroupBy( r => r.Field<string>("someField") );

<强>更新: 您可以使用多个字段(see example)进行分组,也可以将它们嵌套(see example