【发布时间】:2017-11-25 03:02:46
【问题描述】:
我目前有一个填充了数据的 DataTable,但是,我想在使用它之前根据两列对其进行排序。
这是我的 DataTable 的样子
数据表dt:
Date | Serial Number
22/06/2017 | 2
20/06/2017 | 1
22/06/2017 | 1
20/06/2017 | 2
我在网上进行了研究,并尝试了dt.DefaultView.Sort 或LINQ,但我无法让它发挥作用。我已经尝试了以下这些:
dt.DefaultView.Sort = "Date, Serial Number";
DataTable newDt = dt.AsEnumerable().OrderBy(r => r.Field<DateTime>("Date"))
.ThenBy(r => r.Field<int>("Serial Number")).CopyToDataTable();
我尝试了上面提到的两种方法,我得到的结果是排序仅基于一列,例如:
Date | Serial Number
22/06/2017 | 2
22/06/2017 | 1
20/06/2017 | 1
20/06/2017 | 2
但这不是我想要的。下面是我想要的,
预期结果:
Date | Serial Number
20/06/2017 | 1
20/06/2017 | 2
22/06/2017 | 1
22/06/2017 | 2
我可以知道是否有任何方法可以执行以这种方式对 DataTable 进行排序的操作?谢谢。
【问题讨论】:
-
是什么阻止你分享你尝试过的代码?
-
@ChetanRanpariya 没有什么能阻止我分享。我只是想直奔主题。如果你能问,我可以分享。
-
如果我们不知道您尝试了什么以及哪里出了问题,那么很难理解可能是什么问题并提供解决方案。如果您可以分享您的代码,将会很有帮助。
-
@ChetanRanpariya 应要求,我已经用示例和结果更新了帖子。
标签: c# asp.net sorting datatable