使用Linq Or排序数据表而不创建数据表的副本

本文关键字:数据表 创建 副本 Or 排序 使用 Linq | 更新日期: 2023-09-27 18:17:37

我有下面的代码使用System.Data.DataSetExtensions:

var orderedTable = myDataTable.AsEnumerable().OrderBy(x=>x["ID"].ToString())
myDataTable = orderedTable.CopyToDataTable();

这是订购原始数据表最简单的方法吗?

使用Linq Or排序数据表而不创建数据表的副本

使用DataView:

DataView dataView = new DataView(myDataTable);
dataView.Sort = "ID";

注意,它不会对实际的DataTable进行排序,而是在其上提供一个已排序的视图。

除了Stanley的ans,你还可以做

 DataView dataView = new DataView(myDataTable);
      dataView.Sort = "ID";
     DataTable d = dataView.ToTable();

创建新对象或更改数据类型似乎没有必要…

你可以使用Datatable.DefaultView.Sort

例如

:myDataTable.DefaultView.Sort = "ID";