在DataTable
我可以用
dataTable.DefaultView.Sort = "SortField DESC";
我从数据库中获得了DataSet
,我想知道我可以对DataSet
进行排序,就像我在DataTable
中进行排序一样。
答案 0 :(得分:18)
您仍然可以从数据集中访问DataTable,如下所示,
ds.Tables[0].DefaultView.Sort =" criterian";
希望这有帮助。
答案 1 :(得分:7)
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
答案 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;