2012-06-14 23 views
5

En DataTable que podría clasificar conconjunto de datos de clasificación

dataTable.DefaultView.Sort = "SortField DESC"; 

Me estoy poniendo un DataSet de base de datos, me preguntaba podría hacer una clasificación en la DataSet igual que cómo lo hago en DataTable.

+2

Creo que hay que ver un link.http: //msdn.microsoft.com/en-us/library/b51xae2y%28v=vs.71%29.aspx –

Respuesta

15

todavía se puede acceder a la DataTable de los del conjunto de datos de la siguiente manera,

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

Espero que esto ayude.

+0

Voy a tratar esto, gracias –

+0

¿Cuál es el orden descendente o qué? –

+0

@MdAslam p. Ej. '" Nombre de campo DESC "' o '" Nombre de campo "' (ASC es el valor predeterminado) – Dwza

2

de Tha objeto DataSet, puede acceder a todo el DataTable a intract con.

Prueba esto:

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

un acceso a la DataTable del DataSet la siguiente manera,

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

Espero que esto ayude.

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

Pruebe el siguiente código.

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

Para las necesidades avanzadas de clasificación, es posible que desee utilizar LINQ como se describe here. Básicamente, permite crear un DataView a partir de una consulta LINQ utilizando el método de extensión System.Data.DataTableExtensions.AsDataFiew.

Alternativamente, si está de acuerdo con (o tal vez incluso prefiere) el uso de un IEnumerable , puede utilizar el método de extensión System.Data.DataTableExtensions.AsEnumerable. Por ejemplo:

var enumerable = dataSet.Tables[0].AsEnumerable() 
       .OrderBy(x => x.Field<string>("ColumnName") 
       .ThenByDescending(x => x.Field<int?>("OtherColumnName")??0); 
Cuestiones relacionadas