DataSet排序

DataTable我可以使用

  dataTable.DefaultView.Sort = "SortField DESC"; 

我从数据库中获取DataSet ,我想知道我可以在DataSet上进行排序,就像我在DataTable做的那样。

您仍然可以从数据集访问DataTable,如下所示,

 ds.Tables[0].DefaultView.Sort =" criterian"; 

希望这可以帮助。

DataSet访问DataTable ,如下所示,

 ds.Tables[0].DefaultView.Sort = "SortField DESC"; 

希望这可以帮助。

从tha DataSet对象,您可以访问要使用的所有DataTable。

试试这个:

 DataDet.Tables[0].DefaultView.Sort = "sort criteria"; 
  DataSet fileTransferDetail = null;//Data to be sorted. DataSet result = null;//Declare a dataSet to be filled. //Sort data. fileTransferDetail.Tables[0].DefaultView.Sort = "ID DESC"; //Store in new Dataset result.Tables.Add(fileTransferDetail.Tables[0].DefaultView.ToTable()); 

对于高级排序需求,您可能希望使用此处描述的LINQ。 基本上它允许使用System.Data.DataTableExtensions.AsDataFiew扩展方法从LINQ查询创建DataView。

或者,如果您使用IEnumerable可以(或者甚至更喜欢),则可以使用System.Data.DataTableExtensions.AsEnumerable扩展方法。 例如:

 var enumerable = dataSet.Tables[0].AsEnumerable() .OrderBy(x => x.Field("ColumnName") .ThenByDescending(x => x.Field("OtherColumnName")??0); 

请尝试以下代码。

 DataView dv = new DataView(); dv = ds.Tables[0].DefaultView; dv.Sort=value;