使用Linq Or订购数据表或不创建DataTable的副本

时间:2011-12-13 14:29:44

标签: c# .net linq .net-4.0 datatable

我使用System.Data.DataSetExtensions:

获得以下代码
var orderedTable = myDataTable.AsEnumerable().OrderBy(x=>x["ID"].ToString())
myDataTable = orderedTable.CopyToDataTable();

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

3 个答案:

答案 0 :(得分:4)

使用DataView:

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

请注意,它不会对实际的DataTable进行排序,而是为您提供已排序的视图。

答案 1 :(得分:1)

创建新对象或更改数据类型似乎是不必要的......

您可以使用Datatable。DefaultView。排序

例如: myDataTable.DefaultView.Sort = "ID";

答案 2 :(得分:1)

继斯坦利之后,你可以做到

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