数据集排序

本文关键字:排序 数据集 | 更新日期: 2023-09-27 18:37:13

DataTable我可以排序

 dataTable.DefaultView.Sort = "SortField DESC";

我从数据库中得到一个DataSet,我想知道我是否可以对DataSet进行排序,就像我在DataTable中如何做到这一点一样。

数据集排序

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

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

希望这有帮助。

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

http://msdn.microsoft.com/en-US/library/1ay5y4w0(v=vs.71).aspx

http://social.msdn.microsoft.com/Forums/nl/netfxbcl/thread/adbd95cd-49d1-483d-b2b2-4b696a66e9a6

按如下方式从DataSet访问DataTable

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

希望这有帮助。

对于高级排序需求,您可能希望使用 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);

从 DataSet 对象,您可以访问所有要访问的数据表。

试试这个:

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

尝试以下代码。

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