Sélectionner les N premières lignes APRÈS le tri de Dataview en c#
J'ai un DataTable avec 10 rangées de dire que l'une des colonnes
numérotées de 1 à 10 au hasard.
Je veux les trier. habituellement, je fais ceci:
DataView Dv = new DataView(dtPost, "", "views desc", DataViewRowState.Unchanged);
repeater.DataSource = Dv;
repeater.DataBind();
Maintenant, je veux juste de lier le top 5 des lignes dans ce Dataview. Si j'essaye ceci:
DvPopBlogs.Table.Rows.Cast<System.Data.DataRow>().Take(5);
OR
DvPopBlogs.Table.AsEnumerable().Take(5); //this usually works if sorting wasnt necessary
Il fonctionne, mais le dataView oublie complètement sur le tri et choisit de 5 lignes de haut.
J'ai essayé avec tous les DataViewRowStates trop. Comment choisir le top 5 des lignes après le tri?
Me semble à court d'idées!
s'il vous plaît aider!
OriginalL'auteur iamserious | 2010-09-30
Vous devez vous connecter pour publier un commentaire.
Vous accédez à la DataView, mais alors de demander de l'
Table
il est lié à la table elle-même n'est pas triée, leDataView
fournit un classement "vue" de la table.Donc essayer (attention drycode!)
Pour obtenir les 5 premiers (dans l'ordre de tri) DataViewRows. Si vous voulez le
DataRows
:C'est tout à fait possible, l'agent recenseur de DataView est le DataViewRows collection, alors vous pourriez être en mesure de l'utiliser juste
DvPopBlogs.Take(5)....
si vous le souhaitez.Essayez de dvPopBlogs.AsEnumerable().Prendre, ou, dans le pire des cas dvPopBlogs.ToTable() celui-ci va créer une nouvelle Table de données à partir du contenu de la vue.
Salut, désolé, si j'utilise le .ToTable() la méthode de répétition est de se plaindre (bind) que certaines colonne n'existe pas. Débogage montre qu'il n'existe pas, peut-être que je fais quelque chose de mal et je suis sûr que tu ne peux pas savoir sans le code complet. Que suggérez-vous que je fais maintenant? Merci, et désolé de poser trop de questions!
merci, j'ai effectivement compris que cela fonctionne, j'ai eu une petite erreur dans mon code et j'ai été aboiements au mauvais arbre de cinq jours! Je suis un idiot!
OriginalL'auteur Philip Rieck
Puisque vous êtes casting déjà à une liste générique, pourquoi ne pas jeter le dataview au lieu de la datatable?
OriginalL'auteur Peter