【问题标题】:How to Group Data in a Data Table (GridView Style)如何对数据表中的数据进行分组(GridView 样式)
【发布时间】:2013-01-14 23:33:10
【问题描述】:

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

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

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

【问题讨论】:

标签: c# .net


【解决方案1】:

您可以尝试使用 AsEnumerable 将您的 DataTable 转换为 IEnumerable(确保添加对 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) 进行分组

【讨论】:

  • 感谢您的回答,很有帮助。我可以使用相同的 GroupBy 来执行多列分组吗? IE。首先对 Column1 中的所有值进行分组,然后对 Column2 中的所有值进行分组?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 2021-02-11
  • 2019-02-09
  • 2013-08-31
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
相关资源
最近更新 更多