一尘不染

对数据表中的行进行排序

c#

我们在中有两列DataTable,如下所示:

COL1   COL2
Abc    5
Def    8
Ghi    3

我们正在努力解决这datatable基础上COL2按递减顺序。

COL1            COL2
ghi             8
abc             4
def             3
jkl             1

我们尝试了这个:

ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);

但是,不使用a DataView,我们要对DataTable自身进行排序,而不是对进行排序DataView


阅读 270

收藏
2020-05-19

共1个答案

一尘不染

恐怕您不能像听起来那样轻松地就地执行DataTable的排序。

您可以做的是从您从原始数据表创建的数据视图中创建一个新的数据表。在DataView上应用所需的任何排序和/或过滤器,然后使用DataView.ToTable方法从DataView创建新的DataTable :

   DataView dv = ft.DefaultView;
   dv.Sort = "occr desc";
   DataTable sortedDT = dv.ToTable();
2020-05-19