Pagination asp.net

Description

Pagination avec Asp.Net (Juin 2004)
-----------------------------------------

P'tit exemple qui montre comment mettre en place un
systeme de pagination avec asp.net.

Pour faire tourner ce script :
=> creez une base sous sql serveur 2000
=> ouvez le fichier .sql et coller le ds l'analyseur de requetes
=> ouvrez webmatrix et charger le fichier pagination.aspx
=> Indiquer le nom de la base de donnees ds la connection

A cette ligne :
---------------

Dim ConnectionString As String = "server=(local);database=NomDeVotreBase;trusted_connection=true"

=> apres database, placer le nom de votre base de donnees...
=> une fois tout realise, appuyer soit sur F5 ou pressez start.

Tout est dans le .zip

Source / Exemple :


<%@ Page Language="VB" Debug="True" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Drawing" %>
<script runat="server">

    'CHARGEMENT DE LA PAGE
       Sub Page_Load(sender As Object, e As EventArgs)
    
          ' CHARGEMENT DU DATAGRID
           If (IsPostBack=False) Then
            ViewState("PageIndex") = 0
          chargerdatagridpagination(0)
    
        end if
       End sub
    
    
     'CHARGEMENT DU DATAGRID
       Sub chargerdatagridpagination(index As Int32)
    
        'config de votre connection
        Dim ConnectionString As String = "server=(local);database=asp;trusted_connection=true"
    
       'DECLARATIONS
       Dim Sql As String
       Dim myAdapter As SqlDataAdapter
       Dim myDataTable As DataTable
       Dim myPager As PagedDataSource
    
       'PROCEDURE STOCKEE
       SQL = "sp_personne"
       myAdapter = new SqlDataAdapter(SQL,connectionstring)
       myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
    
       myDataTable = new DataTable()
       myAdapter.Fill(myDataTable)
    
       myPager = new PagedDataSource()
       myPager.DataSource =  myDataTable.DefaultView
       myPager.AllowPaging = True
       myPager.PageSize    = 2
       myPager.CurrentPageIndex = index
    
       DGpagination.DataSource = myPager
       DGpagination.DataBind()
    
       AffichagePagination(myPager.CurrentPageIndex+1,myPager.PageCount)
       End sub
    
    
    'PAFINATION A JOUR
    Sub AffichagePagination(NumeroPage As Int32, NombrePages As Int32)
    
        If (NumeroPage = NombrePages) Then
            Suivant.Visible = False
        Else
            Suivant.Visible = True
        End If
    
        If (NumeroPage = 1) Then
            Precedent.Visible = False
        Else
            Precedent.Visible = True
        End IF
    
        NoPage.Text  = NumeroPage.ToString()
        NbPages.Text = NombrePages.ToString()
    
    End Sub
    
    
    
    'PAGE SUIVANTE
    Sub suivant_Click(sender As Object, e As EventArgs)
    
        Dim PageIndex As Int32
        PageIndex = ViewState("PageIndex")
    
    
        PageIndex = PageIndex + 1
    
    
        chargerdatagridpagination(PageIndex)
    
    
         ViewState("PageIndex") = PageIndex
    End Sub
    
    
    'PAGE PRECEDENTE
    Sub precedent_Click(sender As Object, e As EventArgs)
    
        Dim PageIndex As Int32
        PageIndex = ViewState("PageIndex")
    
    
        PageIndex = PageIndex - 1
    
    
        chargerdatagridpagination(PageIndex)
    
    
         ViewState("PageIndex") = PageIndex
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p>
            <asp:DataGrid id="DGpagination" runat="server"></asp:DataGrid>
        </p>
        <p>
            <asp:Button id="suivant" onclick="suivant_Click" runat="server" Text="Suivant"></asp:Button>
            &nbsp;&nbsp; 
            <asp:Button id="precedent" onclick="precedent_Click" runat="server" Text="Precedent"></asp:Button>
        </p>
        <p>
            <asp:Label id="NoPage" runat="server">#NoPage#</asp:Label>&nbsp;&nbsp; <asp:Label id="NbPages" runat="server">#NbPages#</asp:Label>
        </p>
        <!-- Insert content here -->
    </form>
</body>
</html>

Conclusion :


Enjoy

Http://membres.lycos.fr/annmysql/

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.