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 :

PRoblème pagination avec DataPager


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut PRoblème pagination avec DataPager
    Bonjour à tous,

    je récupére des données de sqlserver2005, passe via un dataset pour remplir une listview. Je voulais utiliser le datapager pour créer la pagination, mais apparement ca ne marche pas. Aucune pagination apparente, est ce que ca vient du dataset qui ne supporte pas la pagination ?

    merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par babass77 Voir le message
    Aucune pagination apparente, est ce que ca vient du dataset qui ne supporte pas la pagination ?
    Non, tu as dû te tromper quelque part dans l'utilisation du DataPager

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Pour moi le dataPager, est un control permettant de paginer un autre control type listview (comme c'est mon ca). Cependant, le control listview est alimenté par un dataSet, et j'ai lu quelques part que le dataPager pouvait paginer des données contenues dans un certain type de control(ceux qui supporte la pagination) type ObjectDataSource.

    Voila je met mon code ci-dessous merci de votre aide:
    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
      <asp:DataPager runat="server" ID="ListDataPager"
                             PagedControlID="ListAnnonce"
                             PageSize="20">
                            <Fields>
                             <asp:numericpagerfield ButtonCount="10" NextPageText="..." PreviousPageText ="..." />  
                             <asp:nextpreviouspagerfield FirstPageText = "First" LastPageText = "Last" NextPageText ="Next" PreviousPageText ="Previous" /> 
                            </Fields>
                          </asp:DataPager>
     
     
     
     
            <asp:ListView ID="ListAnnonce" runat="server"
                          GroupPlaceholderID="AnnonceRowContainer"
                          ItemPlaceholderID="AnnonceItemContainer">
     
                    <LayoutTemplate>
                      <table runat="server" id="tblAnnonce">
                          <tr style="background-image:url(images/bg_header_tab.gif)" id="Tr1" runat="server"> 
                            <th class="header-tab" align="center"><a>Option</a></th>
                            <th class="header-tab" align="center"><a>Code client</a></th>
                            <th class="header-tab" align="center"><a>Nom client</a>  </th>
                            <th class="header-tab" align="center"><a>Code annonce</a></th>
                            <th class="header-tab" align="center"><a>Date fin de validité</a> </th>
                            <th class="header-tab" align="center"><a>Nombre de visite</a></th>
                            <th class="header-tab" align="center"><a>Nombre de consultation</a></th>
                            <th class="header-tab" align="center"><a>Nombre d'appel </a></th>
                         </tr>
     
                         <tr runat= "server"  id= "AnnonceRowContainer"  /></tr>
                      </table>
                    </LayoutTemplate> 
     
                    <GroupTemplate> 
                       <tr runat= "server"  id="AnnonceRowContainer" > 
                         <td runat= "server"  id="AnnonceItemContainer"  /> 
                       </tr>  
                    </GroupTemplate> 
     
                    <ItemTemplate>  
                           <td align="center"><a><asp:Button runat="server"  id="Button1" Text="Détails" CommandArgument=<%# Eval("Code annonce") %> OnClick="bt_view_OnClick" /></a></td>
                           <td align="center"><a><%# Eval("Code client") %></a></td>
                           <td align="center"><a><%# Eval("Nom client") %></a>  </td>
                           <td align="center"><a><%# Eval("Code annonce") %></a></td>
                           <td align="center"><a><%# ((DateTime)Eval("Date fin validité")).ToShortDateString() %></a> </td>
                           <td align="center"><a><%# Eval("Nombre de visite")%></a></td>
                           <td align="center"><a><%# Eval("Nombre de consultation") %></a></td>
                           <td align="center"><a><%# Eval("Nombre d'appel") %></a></td>
                    </ItemTemplate> 
     
     
             </asp:ListView>


    et en code behind j'alimente le listview de cette façon :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    DataSource dset = new DataSource();
    dset = con.getAllAnnonce();
    ListAnnonce.DataSource = dset;


    A l'affichage on a bien la première partie, avec les index du datapager, mais rien ne change quand je click sur un autre index.

    voila

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par babass77 Voir le message
    ...pouvait paginer des données contenues dans un certain type de control(ceux qui supporte la pagination)
    Il faut que le contrôle implémente IPageableItemContainer, ce qui est le cas de ListView. Ca n'a pas de rapport avec la source des données, et je ne vois aucune raison pour que ça ne fonctionne pas avec un DataSet

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    ok, moi non plus de toute façon,

    alors une question sur le fonctionnement du DataPager moi je n'arrive pas à le faire fonctionner et ca m'embete bien.

    Dois t-on implémenter des fonctions dans le codes behind, qui seraient appelées après click sur un index du dataPager afin de modifier la currentPAge, ou la control dataPager, fonctionne seul ?

    merci de ton aide tomlev

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Si j'en crois l'exemple dans la doc, ça devrait fonctionner tout seul sans code-behind...
    Je ne vois pas trop ce qui ne va pas dans ton code. Juste comme ça, tu as plus de 20 lignes dans ta source de données ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Pour l'instant oui j'en ai 77, je ne souhaite pas faire de pagination si il y en a pas besoin !!!!!

    Merci pour ton aide

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Help me please,

    personne n'a déjà utilisé un DataPager avec ListView et pourrait me filer un vrai coup de main.

    merci d'avance

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ben j'ai testé ton code (avec juste qq petites modifs pour la source de données), et chez moi ça fonctionne....

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    J'y crois pas, je m'arache les cheveux dessus je pige pas. Puis-je voir ton code behind parce que je pense que ca viens de la. J'ai tester moi aussi de mon côté le code que j'avais poster, et le même résultat, pas de pagination, le listview reste statique.

    merci de ton aide

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Yes ca marche sur ma page de test, par contre je suis obligé d'appuyer plusieurs fois sur les index pour que ca affiche bien la page.

    aurais tu une idée

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par babass77 Voir le message
    par contre je suis obligé d'appuyer plusieurs fois sur les index pour que ca affiche bien la page.
    Ah oui tiens, moi aussi... bizarre
    D'ailleurs ça ne change pas de page en fait, ça affiche toujours la 1ere (même si le DataPager indique une autre page)
    Je sais pas trop ce qui va pas...

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ah ok
    Il faut rebinder (méthode DataBind) la ListView sur l'évènement PreRender du DataPager, et ça marche

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 85
    Par défaut
    Oui en fait c'était ca mon problème au début, les index changeait mais la page du datalist restait la même, j'ai réussi à résoudre ce problème,

    et pour l'histoire de multiplier les click avant de réellement changer e page j'ai trouver un lien mais je n'ai pas eu encore le temps de tester, je reviens poster mon code quand tout fonctionnera

    (http://66.129.67.4/t/1280103.aspx)

    Bon week end @ +

Discussions similaires

  1. Problème de pagination
    Par MrToine dans le forum CodeIgniter
    Réponses: 0
    Dernier message: 18/10/2014, 16h02
  2. [MySQL] Class pagination avec problème d'affichage
    Par eltyty dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 09/07/2011, 11h48
  3. problème pagination displaytag avec ajaxtags
    Par adilensa dans le forum Struts 2
    Réponses: 0
    Dernier message: 17/05/2009, 18h18
  4. Problème de pagination avec un GridView
    Par Perceuse-Killer dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/02/2007, 13h30
  5. [SQL] Problème de pagination avec tableau
    Par guy2004 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/05/2006, 22h16

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