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

Framework .NET Discussion :

Pagination Gridview et objets métier


Sujet :

Framework .NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Pagination Gridview et objets métier
    Bonjour,
    je développe une application asp.NET 3tiers : présentation, service (BLL), données(DAL).
    Je met en oeuvre une recherche multi critères dont les résultats doivent être affichés dans un gridview. La fonction de recherche comporte une dizaine de paramètres et retourne une liste d'objets (List<>) que je place dans une variable session pour passer les résultats à ma page contenant le gridview. Ca donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Session["projets"] = BLL.Projets.RechercherProjets(mes 10 paramètre);
    Response.Redirect("mapagederésultats.aspx");
    dans mapagederesultats.aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    protected void Page_Load(object sender, EventArgs e)
    {            
         if (!IsPostBack)
         {
                projets = (List<Projet>)Session["projets"];
                GridView.DataSource = projets;
                GridView.DataBind();
         }
    }
    Mon soucis c'est que je voudrais mettre en place la pagination et le tri pour ce gridview (ici pas d'objectDataSource, car j'ai des paramètres qui sont des arraylists, et puis ca voudrait dire que je dois rapeler ma fonction recherche une seconde fois avec 10 paramètres). La pagination ne fonctionne pas , même en mettant dans la fonction PageIndexChanging :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected void PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
         GridView.PageIndex = e.NewPageIndex;
         GridView.DataSource = projets;
         GridView.DataBind();
    }
    ce qui est surement du au fait que je bind directement le gridview avec ma liste d'objet sans passer par un objectDataSource ou un SqlDataSource.

    Je précise que mes résultats s'affichent bien dans le gridview, si je met AllowPaging=true la première page s'affiche correctement mais les autres ne fonctionnent pas : aucune erreur de compilation seulement le gridview disparait et rien ne s'affiche.
    J'ai tout bien mis SortExpression et AllowPaging comme il faut...
    Des suggestions ?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    J'ai trouvé une solution, je ne sais pas si elle est terrible mais en tout cas j'obtiens ce sue je voulais faire.

    Comme je disais je passe par une variable session sui contient la liste des objets ici du résultat de la recherche. Je n'utilisais pas d'objectdatasource parceque j'avais + de 10 paramètres.
    J'ai créé une fonction (un peu bidion il faut bien le dire) qui prend ma liste d'objet en paramètre et qui retourne ... ma liste d'objet (la même).
    J'utilise un objectDataSource comme source de mon gridview et je lui choisis cette dernière méthode comme selectMethod. Le paramètre étant une liste d'objets se trouvant dans une variable session, je choisis SessionParameter comme type de paramètre dans l'assistant.
    Ce qu'il ne faut pas oublier c'est de rendre serializable les objets concernés (écrire "[Serializable]" avant la définition de la classe des objets concernés).

    Et voila, le tour est joué, j'ai bien l'affichage dans le gridview et la pagination avec. APrès le tri c'est une autre histoire, je m'y penche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/09/2008, 15h28
  2. Conseils sur la méthode de développement objet métier
    Par RamDevTeam dans le forum Langage
    Réponses: 5
    Dernier message: 08/12/2005, 18h14
  3. [DAO] Faire le lien entre les VO et les Objets Métiers
    Par mauvais_karma dans le forum Hibernate
    Réponses: 12
    Dernier message: 25/11/2005, 15h19
  4. [Strategie]Classes de mapping & Objets métier
    Par yanis97 dans le forum JDBC
    Réponses: 19
    Dernier message: 16/05/2005, 09h57

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