Comment puis-je limiter le nombre de lignes dans une table de données?
- Je générer un DataTable (à partir de données non-SQL) et ensuite utiliser un DataView pour filtrer les enregistrements.
Je veux limiter le nombre d'enregistrements dans le dernier record établi mais ne peut pas faire cela quand je crée les DataTable.
J'ai eu recours à la suppression de lignes dans le résultat final, comme par:
DataView dataView = new DataView(dataTable);
dataView.RowFilter = String.Format("EventDate > '{0}'", DateTime.Now);
dataView.Sort = "EventDate";
dataTable = dataView.ToTable();
while (dataTable.Rows.Count > _rowLimit)
dataTable.Rows[dataTable.Rows.Count - 1].Delete();
return dataTable;
Est-il un moyen plus efficace pour limiter les résultats?
OriginalL'auteur Ian G | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Linq:
Essayez de changer votre code de la manière suivante:
Vous aurez besoin d'espace de noms: System.Linq et du Système.Les données
System.Data.DataSetExtensions
trop.OriginalL'auteur Theun Arbeider
La première chose à faire est d'essayer de ne PAS charger trop de lignes dans la Table de données. Est-ce possible?
Êtes-vous sûr? Pourrais-tu nous montrer le code qui effectue le chargement?
OriginalL'auteur Erno de Weerd
Pouvez-vous ajouter une colonne qui sera similaire comme le nombre de lignes 1,2,3
Quelque chose comme l'incrémentation à mesure que vous ajoutez des lignes à partir de vos données Non-SQL pour la datatable.
Probablement après que vous pouvez utiliser
RowIncrement est la colonne qui serait quelque chose comme ROWNUM
OriginalL'auteur V4Vendetta
Essayez de copier le top x des lignes à partir d'un datatable dans une nouvelle.
et ensuite l'utiliser.
OriginalL'auteur stu432