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>
<asp:Button id="precedent" onclick="precedent_Click" runat="server" Text="Precedent"></asp:Button>
</p>
<p>
<asp:Label id="NoPage" runat="server">#NoPage#</asp:Label> <asp:Label id="NbPages" runat="server">#NbPages#</asp:Label>
</p>
<!-- Insert content here -->
</form>
</body>
</html>
Conclusion :
Enjoy
Http://membres.lycos.fr/annmysql/
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.