0

Mon scénario est que j'obtiendrai des téléchargements de données au format csv sur mon serveur, qui auront plus de 60k enregistrements. et les numéros de colonne peuvent changer de fichier en fichier, maintenant mon problème est que je veux afficher le contenu de ceci dans une vue de liste, avec la pagination. et je ne veux pas télécharger des données entières au client, je veux que les données soient récupérées seulement quand nécessaire. Comment puis-je le faire avec listview et datapager? Je sais que le datapager ne supporte que linqdatasource pour la pagination côté serveur? Y a-t-il d'autres possibilités? ou recommandations pour ceAsp.net Listview côté serveur pagination

Merci à l'avance

Répondre

1

Je vous importez le CSV dans une table, vous le trouverez beaucoup plus facile de travailler avec, et beaucoup plus rapide que de travailler directement hors du CSV. Exemple de la façon de faire est sur CodeProject.

Vous pouvez ensuite parcourir ces enregistrements en utilisant server side paging pour plus d'efficacité.

Mise à jour: Si le fichier CSV correspond à un schéma défini, vous ne pourrez pas créer dynamiquement les tables. J'aurais deux tables. Un pour stocker une référence au fichier (uniqueId, filename/path, UserId), et un autre pour les FileItems (votre schéma plus File.UniqueId foreign keyed). De cette façon, vous pouvez verrouiller le fichier à l'utilisateur qui y accède. Les problèmes de verrouillage et de concurrence sont une question distincte, et il existe de nombreuses façons d'aborder cette question.

Si vous souhaitez effectuer des opérations directement sur des enregistrements de 60 Ko dans un fichier CSV, vous le trouverez lent. Il n'y a aucun moyen de contourner cela à moins de mettre en cache l'ensemble de données du fichier CSV et de travailler sur le cache. Pour moi, le stockage de la base de données est un meilleur moyen que le cache. Il vous donne également une trace historique de ce qui est fait, plus si des erreurs surviennent pendant que vous travaillez dans la grille, les données sont conservées dans la base de données sans avoir à télécharger à nouveau le fichier CSV.

+0

Merci encore, mais le problème est que je dois créer les tables dynamiquement, charger les données, et récupérer, et aussi cela pourrait causer plus de problèmes lorsque plusieurs utilisateurs y accèdent – Aneef

+0

Voir ma réponse éditée ci-dessus. – Junto

+0

Merci Junto :) – Aneef