Tengo una DataTable con 10 filas que dicen una de las columnas numeradas del 1 al 10 al azar. Quiero ordenarlos. por lo general, hago esto:Seleccione N filas superiores DESPUÉS de ordenar desde Dataview en C#
DataView Dv = new DataView(dtPost, "", "views desc", DataViewRowState.Unchanged);
repeater.DataSource = Dv;
repeater.DataBind();
Ahora, solo quiero unir las 5 filas superiores en esta Dataview. Si intento esto:
DvPopBlogs.Table.Rows.Cast<System.Data.DataRow>().Take(5);
OR
DvPopBlogs.Table.AsEnumerable().Take(5); //this usually works if sorting wasnt necessary
Funciona, pero el DATAVIEW se olvida por completo de la clasificación y simplemente selecciona 5 filas de arriba.
Lo he intentado con todos los DataViewRowStates también. ¿Cómo seleccionar las 5 mejores filas después de la clasificación?
Parece que me quedo sin ideas! por favor ayuda!
sí, me encontré con esto cuando yo estaba tratando de depurar, DataView parecía tener fin ordenados pero tan pronto como he añadido la tabla, el orden de clasificación se perdió, ahora entiendo tabla informa sobre los datos originales. Gracias. ¡Pero, DvPopBlogs es un DataView y ni tiene métodos .Take() ni .DataViewRows()! – iamserious
Pruebe dvPopBlogs.AsEnumerable(). Take, o en el peor de los casos dvPopBlogs.ToTable() Este último creará una nueva DataTable a partir del contenido de la vista. –
Hola, lo siento, si uso el método .ToTable(), el repetidor se queja (en el enlace) de que cierta columna no existe. La depuración muestra que existe, puede que esté haciendo algo mal y estoy seguro de que no puedes averiguarlo sin el código completo. ¿Qué sugieres que haga ahora? ¡Gracias y disculpa por hacer demasiadas preguntas! – iamserious