2012-06-14 2 views
5

В DataTable я мог сортировать сDataSet сортировка

dataTable.DefaultView.Sort = "SortField DESC"; 

Я получаю DataSet из базы данных, мне было интересно, я мог сделать сортировку на DataSet нравится, как я это делаю в DataTable.

+2

Я думаю, вы должны увидеть link.http: //msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx –

ответ

15

вы все еще можете получить доступ к DataTable из набора данных следующим образом,

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

Надеется, что это помогает.

+0

Я хочу попробовать это, спасибо. –

+0

Что по убыванию или что? –

+0

@MdAslam, например. '" Имя поля DESC "или' "Имя поля" '(ASC по умолчанию) – Dwza

2

С тха объекта DataSet, вы можете получить доступ ко всем DataTable к intract с.

Попробуйте это:

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

Доступ к DataTable из в DataSet следующим образом,

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

Надеется, что это помогает.

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

Попробуйте использовать следующий код.

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

Для продвинутой сортировки необходимо вы можете использовать LINQ, как описано here. В основном это позволяет создавать DataView из запроса LINQ с использованием метода расширения System.Data.DataTableExtensions.AsDataFiew.

В качестве альтернативы, если вы в порядке с (или, возможно, даже предпочитаете) с помощью IEnumerable , вы можете использовать метод расширения System.Data.DataTableExtensions.AsEnumerable. Например:

var enumerable = dataSet.Tables[0].AsEnumerable() 
       .OrderBy(x => x.Field<string>("ColumnName") 
       .ThenByDescending(x => x.Field<int?>("OtherColumnName")??0); 
Смежные вопросы