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 :

pagination d'un datagrid


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut pagination d'un datagrid
    bonjour à tous. J'ai un datagrid que je peuple à l'aide d'un sqldatasource. Mais je ne passe pas par le code behind, je le fais en mode graphique dans vs.net 2005. Maintenant, je souhaite paginer le datagrid, mais je n'y arrive pas parceque avec les différents codes de pagination que j'ai trouvé, il faut à la fin du code recharger sinon rafraichir le datagrid lorsqu'on navique entre les différents numéros de page. Or puisque, je ne peuple pas mon datagrid par code, je nai pas de fonction pour rafraichir. Alors j'aimerais savoir s'il ya un moyen de paginer mon datagrid sans passer par le code behind? Sinon comment le faire vu que je n'ai pas de fonction pour recharger. Si vous avez des solutions, je suis preneur, aidez moi svp merci...

  2. #2
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Alors :
    - commence par metre plus de ponctuation et passe des lignes de temps en temps, ça aide à la lecture. Ok, remarque pas trés importante, mais bon j'ai une foulure à l'iris maintenant !

    - pense aussi à la balise CODE et mets ton code actuel dans le topic.

    A la lecture de ce que tu dis, je ne vois même pas pourquoi tu as un souci. Je pense que, soit il y a une propriété qui te manque dans le DataSource ou dans le GridView, soit y en a une qui n'a pas la bonne valeur.
    Pense aussi à donner ta chaine de connexion (sans le mot de passe bien sûr.....)

    Kenavo
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut
    merci pour ta réponse, mais en fait comme je l'ai dit c'est plutôt un datagrid

    que j'utilise et non un Gridview. Voici le code:

    Code : 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <asp:DataGrid ID="DataGrid2" runat="server" AutoGenerateColumns="False" CellPadding="4" OnEditCommand="trait_annul" OnPageIndexChanged="DataGrid2_PageIndexChanged"
                            DataSourceID="SqlDataSource2" ForeColor="#333333" GridLines="None" Visible="False" Font-Size="10pt" AllowPaging="True" PageSize="5">
                            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <EditItemStyle BackColor="#2461BF" />
                            <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" Mode="NumericPages" />
                            <AlternatingItemStyle BackColor="White" />
                            <ItemStyle BackColor="#EFF3FB" />
                            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <Columns>
                                <asp:BoundColumn DataField="NUMERO_DEMANDE" HeaderText="#"></asp:BoundColumn>
                                <asp:BoundColumn DataField="DATE_DEMANDE" HeaderText="Date"></asp:BoundColumn>
                                <asp:BoundColumn DataField="NOMBREPARTDEM" HeaderText="Nb Part"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMTYPEDEM" HeaderText="Type"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMINTITULE" HeaderText="Intitulé"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMMAT" HeaderText="Matériels"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMDATEDEB" HeaderText="Début"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMDATEFIN" HeaderText="Fin"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMHEUREDEB" HeaderText="Heure début"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMHEUREFIN" HeaderText="Heure fin"></asp:BoundColumn>
                                <asp:BoundColumn DataField="COMDEPART" HeaderText="Département"></asp:BoundColumn>
                                <asp:EditCommandColumn CancelText="Cancel" EditText="retraiter" HeaderText="modifanul"
                                    UpdateText="Update"></asp:EditCommandColumn>
                            </Columns>
                        </asp:DataGrid><asp:SqlDataSource ID="SqlDataSource2" runat="server" ConflictDetection="CompareAllValues"
                            ConnectionString="<%$ ConnectionStrings:GESSALLEConnectionString %>" DeleteCommand="DELETE FROM [DEMANDE] WHERE [NUMERO_DEMANDE] = @original_NUMERO_DEMANDE AND [DATE_DEMANDE] = @original_DATE_DEMANDE AND [NOMBREPARTDEM] = @original_NOMBREPARTDEM AND [COMTYPEDEM] = @original_COMTYPEDEM AND [COMINTITULE] = @original_COMINTITULE AND [COMMAT] = @original_COMMAT AND [COMDATEDEB] = @original_COMDATEDEB AND [COMDATEFIN] = @original_COMDATEFIN AND [COMHEUREDEB] = @original_COMHEUREDEB AND [COMHEUREFIN] = @original_COMHEUREFIN AND [COMDEPART] = @original_COMDEPART"
                            InsertCommand="INSERT INTO [DEMANDE] ([DATE_DEMANDE], [NOMBREPARTDEM], [COMTYPEDEM], [COMINTITULE], [COMMAT], [COMDATEDEB], [COMDATEFIN], [COMHEUREDEB], [COMHEUREFIN], [COMDEPART]) VALUES (@DATE_DEMANDE, @NOMBREPARTDEM, @COMTYPEDEM, @COMINTITULE, @COMMAT, @COMDATEDEB, @COMDATEFIN, @COMHEUREDEB, @COMHEUREFIN, @COMDEPART)"
                            OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT [NUMERO_DEMANDE], [DATE_DEMANDE], [NOMBREPARTDEM], [COMTYPEDEM], [COMINTITULE], [COMMAT], [COMDATEDEB], [COMDATEFIN], [COMHEUREDEB], [COMHEUREFIN], [COMDEPART] FROM [DEMANDE] WHERE (([IDSTATUT] = @IDSTATUT) AND ([NOM_USER] = @NOM_USER)) ORDER BY [NUMERO_DEMANDE] DESC"
                            UpdateCommand="UPDATE [DEMANDE] SET [DATE_DEMANDE] = @DATE_DEMANDE, [NOMBREPARTDEM] = @NOMBREPARTDEM, [COMTYPEDEM] = @COMTYPEDEM, [COMINTITULE] = @COMINTITULE, [COMMAT] = @COMMAT, [COMDATEDEB] = @COMDATEDEB, [COMDATEFIN] = @COMDATEFIN, [COMHEUREDEB] = @COMHEUREDEB, [COMHEUREFIN] = @COMHEUREFIN, [COMDEPART] = @COMDEPART WHERE [NUMERO_DEMANDE] = @original_NUMERO_DEMANDE AND [DATE_DEMANDE] = @original_DATE_DEMANDE AND [NOMBREPARTDEM] = @original_NOMBREPARTDEM AND [COMTYPEDEM] = @original_COMTYPEDEM AND [COMINTITULE] = @original_COMINTITULE AND [COMMAT] = @original_COMMAT AND [COMDATEDEB] = @original_COMDATEDEB AND [COMDATEFIN] = @original_COMDATEFIN AND [COMHEUREDEB] = @original_COMHEUREDEB AND [COMHEUREFIN] = @original_COMHEUREFIN AND [COMDEPART] = @original_COMDEPART">
                            <DeleteParameters>
                                <asp:Parameter Name="original_NUMERO_DEMANDE" Type="Int32" />
                                <asp:Parameter Name="original_DATE_DEMANDE" Type="String" />
                                <asp:Parameter Name="original_NOMBREPARTDEM" Type="Int32" />
                                <asp:Parameter Name="original_COMTYPEDEM" Type="String" />
                                <asp:Parameter Name="original_COMINTITULE" Type="String" />
                                <asp:Parameter Name="original_COMMAT" Type="String" />
                                <asp:Parameter Name="original_COMDATEDEB" Type="DateTime" />
                                <asp:Parameter Name="original_COMDATEFIN" Type="DateTime" />
                                <asp:Parameter Name="original_COMHEUREDEB" Type="String" />
                                <asp:Parameter Name="original_COMHEUREFIN" Type="String" />
                                <asp:Parameter Name="original_COMDEPART" Type="String" />
                            </DeleteParameters>
                            <UpdateParameters>
                                <asp:Parameter Name="DATE_DEMANDE" Type="String" />
                                <asp:Parameter Name="NOMBREPARTDEM" Type="Int32" />
                                <asp:Parameter Name="COMTYPEDEM" Type="String" />
                                <asp:Parameter Name="COMINTITULE" Type="String" />
                                <asp:Parameter Name="COMMAT" Type="String" />
                                <asp:Parameter Name="COMDATEDEB" Type="DateTime" />
                                <asp:Parameter Name="COMDATEFIN" Type="DateTime" />
                                <asp:Parameter Name="COMHEUREDEB" Type="String" />
                                <asp:Parameter Name="COMHEUREFIN" Type="String" />
                                <asp:Parameter Name="COMDEPART" Type="String" />
                                <asp:Parameter Name="original_NUMERO_DEMANDE" Type="Int32" />
                                <asp:Parameter Name="original_DATE_DEMANDE" Type="String" />
                                <asp:Parameter Name="original_NOMBREPARTDEM" Type="Int32" />
                                <asp:Parameter Name="original_COMTYPEDEM" Type="String" />
                                <asp:Parameter Name="original_COMINTITULE" Type="String" />
                                <asp:Parameter Name="original_COMMAT" Type="String" />
                                <asp:Parameter Name="original_COMDATEDEB" Type="DateTime" />
                                <asp:Parameter Name="original_COMDATEFIN" Type="DateTime" />
                                <asp:Parameter Name="original_COMHEUREDEB" Type="String" />
                                <asp:Parameter Name="original_COMHEUREFIN" Type="String" />
                                <asp:Parameter Name="original_COMDEPART" Type="String" />
                            </UpdateParameters>
                            <SelectParameters>
                                <asp:Parameter DefaultValue="3" Name="IDSTATUT" Type="Int32" />
                                <asp:SessionParameter Name="NOM_USER" SessionField="name" Type="String" />
                            </SelectParameters>
                            <InsertParameters>
                                <asp:Parameter Name="DATE_DEMANDE" Type="String" />
                                <asp:Parameter Name="NOMBREPARTDEM" Type="Int32" />
                                <asp:Parameter Name="COMTYPEDEM" Type="String" />
                                <asp:Parameter Name="COMINTITULE" Type="String" />
                                <asp:Parameter Name="COMMAT" Type="String" />
                                <asp:Parameter Name="COMDATEDEB" Type="DateTime" />
                                <asp:Parameter Name="COMDATEFIN" Type="DateTime" />
                                <asp:Parameter Name="COMHEUREDEB" Type="String" />
                                <asp:Parameter Name="COMHEUREFIN" Type="String" />
                                <asp:Parameter Name="COMDEPART" Type="String" />
                            </InsertParameters>
                        </asp:SqlDataSource>
                        &nbsp;<br />

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Bon, ok, j'avais pas bien vu le DataGrid, d'où l'intérêt d'aéré à fond le texte.

    Bon, moi je suis pas trés fort avec le DAtaGrid, le GridView est plus performant, je trouve.

    D'abords je virerais le "OnPageIndexChange". Normalement, c'est géré en automatique. Mais il faudrait voir ce qu'il y a dans cette méthode. Parce que, si y a rien (ce que je supute) ben il fait rien.

    Tu peux regarder ça ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut
    merci por ta reponse, mais ce qui me pousse à utiliser le datagrid c'est que

    je sais comment le manipuler en code behind. Par exemple, si je veux créer

    une fonction pour chaque ligne de mon datagrid, il me suffit d'ajouter un

    button column et je peux le personaliser a ma guise (ecrire mes propres

    instructions). Ce que je n'arrive pas à faire avec le gridview (par exemple je

    n'arrive pas a donner le numero de la ligne courante). Est ce que tu ne

    pourrais pas me montrer un exemple ou je peux par exemple avec un gridview

    ajouter un buttom column et ecrire les instructions que je veus dans ce

    buton column. merci pour ta sollicitude...

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Trés juste, c'est vai que moi même j'ai pas mal ramé sur ce genre de souci. Je vasi te proposer une solution, mais je suis pas sûr qu'elle la meilleure. La seul chose dont je sois sûr, c'est qu'elle fonctionne.

    D'abords, je mets toujours un GridView tout un dans la côté HTML, avec juste un SqlDataSource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <asp:SqlDataSource ID="sdsGv" runat="server" 
    	DataSourceMode="DataSet"
    	ConnectionString="<%$ ConnectionStrings:CS %>">
    </asp:SqlDataSource>
    <asp:GridView ID="IDgv" runat="server" DataSourceID="sdsGvCampagne"></asp:GridView>
    Ensuite je charge plein de proriété avec un gros With sur GridView et le SqlDataSource.
    Je charge de column à la main, avec les données, les boutons et tout le tremblement.
    Biensûr chauqe bouton doit avoir un commandName.

    Et puis je défini mes boutons actions sur la fameuse _RowCommand, méthode du GridView que tu retrouve en CodeBehind. Les mienne ont toujours ce genre de squelette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Protected Sub IDgv_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvCampagne.RowCommand
     
    	Dim IdCell As TableCell
    	If IsNumeric(e.CommandArgument) Then
    		IdCell = CType(IDgv.Rows(Convert.ToInt32(e.CommandArgument)), GridViewRow).Cells(0)
    	Else
    		IdCell = gvID.Rows(0).Cells(0)
    		AfficheTable("rien")
    	End If
    	Select Case e.CommandName
    		Case "Actif"
    			dmCS.ExecuterRequeteSimple("EXEC SPEC_Campagne_Actif " & IdCell.Text)
    		End Select
    	End Sub
    Bien entendu dans tes colonnes tu as pris soin de mettre dans la première le champs qui sert d'indetifiant dans la table.
    Ensuite, dans le Select case soit tu fais du code, soi tu déclenche une Sub que tu rédige un peu plus loin, à toi de voir comemnt tu veux organiser ton code.

    Voilà, avec ça, tu peux avancer. Si tu a un soucis, reviens
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut
    merci pour tout. J'ai vu comment ca marche

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

Discussions similaires

  1. [Dojo] Pagination avec un Datagrid et un queryReadStore
    Par Daniel_Gibot dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 17/02/2012, 16h07
  2. Pagination d'une DataGrid
    Par Invité dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 31/05/2011, 17h51
  3. pagination d'un datagrid e4x
    Par zehni dans le forum Flex
    Réponses: 0
    Dernier message: 11/02/2010, 20h41
  4. Pagination d'un datagrid
    Par alicia26 dans le forum ASP.NET
    Réponses: 12
    Dernier message: 12/06/2007, 00h39
  5. [c#] pagination d'un Datagrid
    Par ben_2005 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/03/2006, 17h14

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