IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Déterminer le nombre de pages affichées d'une GridView


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 23
    Points
    23
    Par défaut Déterminer le nombre de pages affichées d'une GridView
    Bonjour,

    Dans mon application, certaines GridView affichent plusieurs centaines d'éléments. Ces GridView sont remplies à partir de données provenant d'une requête Linq To Entities. Pour ne pas charger toutes les données en une seule fois, j'aimerais implémenter un système de paging et adapter la requête LINQ avec Skip() et Take() en fonction de la page demandée.

    Jusqu'ici, tout fonctionne. Seulement voilà, les GridView affichent le nombre de pages en fonction du nombre de rows qu'elles contiennent. Si je ne récupère que le nombre d'élément que je souhaite afficher pour chaque page, la GridView ne m'affichera jamais plus d'une page.

    Comment faire pour déterminer depuis le code le nombre de page affichées par la GridView ? Je sais qu'il est possible de customiser le système de paging, mais je suis persuadé qu'il existe un moyen plus simple.

    Merci par avance.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu récupères le nombre d'enregistrements et tu divises par le nombre de lignes par page

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Tu récupères le nombre d'enregistrements et tu divises par le nombre de lignes par page
    Merci pour ta réponse, mais le problème n'est pas là. Je sais comment obtenir le nombre de page, mais je ne sais pas comment indiquer à la GridView qu'il faut afficher ce nombre de page.

    Sais-tu comment faire ?

    Edit : Il existe une propriété PageCount, mais elle est readonly :/

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Si j'ai bien compris ton besoin :

    Tu veux binder une seule page de ta gridview avec tes données, mais conserver tout le même les liens d'indication du nombre de page ?

    Si c'est ca il va falloir tricher, car comme tu l'as bien dit la gridview affiche automatiquement le nombre de page en fonction des données que tu as lié.

    Tu peux soit masquer l'affichage du nombre de page pour en implémenter un a ta maniere.

    Soit tricher en remplissant les pages suivantes avec des données bateau pour forcer la gridView a afficher les autres pages.

    Je pense que la 1ere solution est préférable.

    Aussi, quelque soit la solution que tu choisis, tu aura besoin de lancer une requete 'count' pour connaitre ton nombre d'élément total.

    Enfin, 2 précisions :
    1-
    On se retrouve souvent dans ce genre de cas lorsque l'ergonomie du logiciel est mal pensée : Aucun interet pour le client d'avoir 235 pages de 100 élements, il faut peut être penser aux filtres ou autres.

    2-
    Il existe des gridview (aspnet ou javascript) qui savent faire du lazyloading, peut être une piste ? (tu en trouvera facilement sur internet)

Discussions similaires

  1. [WD-2010] Connaitre le Nombre de pages et aller à une page donnée
    Par moebius80 dans le forum VBA Word
    Réponses: 3
    Dernier message: 26/02/2012, 21h03
  2. Réponses: 3
    Dernier message: 19/12/2008, 13h39
  3. Nombre de lignes affichables ds une TextBox
    Par Isher dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/02/2008, 10h21
  4. Réponses: 2
    Dernier message: 24/01/2008, 13h32
  5. Réponses: 4
    Dernier message: 24/06/2007, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo