0

对于特殊要求,我们创建了自己的 HTML 表格,它的工作方式类似于网格视图。它从 DataTable 中获取数据并填充 TD 和 TR 单元格

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

如何直接在 DataTable 中执行分组,然后按原样输出行?我可以使用 Linq 吗?请通过指导示例来提供帮助。

4

1 回答 1

0

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

然后使用GroupBy对您的数据进行分组。它将返回IEnumerable<IGrouping<TKey, TSource>>每个IGrouping<TKey, TElement>对象包含对象集合和键的位置。例子:

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

更新:您可以使用多个字段(参见示例)或嵌套它们(参见示例)进行分组

于 2013-01-14T23:42:39.493 回答