DataTable
で並べ替えることができます
dataTable.DefaultView.Sort = "SortField DESC";
データベースからDataSet
を取得していますが、DataSet
での並べ替えと同じように、DataTable
で並べ替えを実行できるのではないかと考えていました。
次のように、データセットから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
次のように、DataTable
からDataSet
にアクセスします。
ds.Tables[0].DefaultView.Sort = "SortField DESC";
お役に立てれば。
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<string>("ColumnName")
.ThenByDescending(x => x.Field<int?>("OtherColumnName")??0);
DataSetオブジェクトから、対話するすべてのDataTableにアクセスできます。
これを試して:
DataDet.Tables[0].DefaultView.Sort = "sort criteria";
次のコードを試してください。
DataView dv = new DataView();
dv = ds.Tables[0].DefaultView;
dv.Sort=value;