DataSet排序

时间:2012-06-14 08:59:09

标签: c# asp.net .net sorting dataset

DataTable我可以用

排序
 dataTable.DefaultView.Sort = "SortField DESC";

我从数据库中获得了DataSet,我想知道我可以对DataSet进行排序,就像我在DataTable中进行排序一样。

7 个答案:

答案 0 :(得分:18)

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

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

希望这有帮助。

答案 1 :(得分:7)

答案 2 :(得分:4)

DataTable访问DataSet,如下所示,

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

希望这有帮助。

答案 3 :(得分:2)

从DataSet对象中,您可以访问要与之交互的所有DataTable。

试试这个:

DataDet.Tables[0].DefaultView.Sort = "sort criteria";

答案 4 :(得分:2)

 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());

答案 5 :(得分:1)

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

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

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

答案 6 :(得分:0)

尝试以下代码。

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