web-dev-qa-db-ja.com

DataSetの並べ替え

DataTableで並べ替えることができます

 dataTable.DefaultView.Sort = "SortField DESC";

データベースからDataSetを取得していますが、DataSetでの並べ替えと同じように、DataTableで並べ替えを実行できるのではないかと考えていました。

7
Jerry Lam

次のように、データセットからDataTableに引き続きアクセスできます。

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

お役に立てれば。

20
8
Darren

次のように、DataTableからDataSetにアクセスします。

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

お役に立てれば。

4
Kishore Kumar
 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());
2
Taran

高度な並べ替えのニーズについては、説明されているように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);
2
Zar Shardan

DataSetオブジェクトから、対話するすべてのDataTableにアクセスできます。

これを試して:

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

次のコードを試してください。

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