J'ai récemment formé d'autres personnes à la pagination ASP. Pour les novices qui découvrent ASP, la pagination la plus simple consiste à utiliser la technologie de pagination Recordset. Elle est principalement utilisée pour paginer une petite quantité de données. adapté à la pagination d'une grande quantité de données.
1. Créer un objet Recordset
Copiez le code comme suit :Dim objMyRst
Set objMyRst=Server.CreateObject(ADODB.Recordset)
objMyRst.CursorLocation=adUseClientBatch 'Le client peut traiter par lots
objMyRst.CursorType=adOpenStatic' Le type de curseur est un type statique
Remarque : les objets Recordset ne peuvent pas être
.utilisé avec Set objMyRst=Connection. L'instruction strSQL est créée car l'objet Recordset qu'elle crée est adOpenFowardOnly et ne prend pas en charge la pagination du jeu d'enregistrements
2. Ouvrez l'objet Recordset
et copiez le code comme suit :
Dim strSql
strSql=select * from ietable
objMyRst.Oepn strSql,ActiveConnection,,,adCmdText
3. Définissez la propriété PageSize de Recordset
et copiez le code comme suit :
objMyRst.PageSize=20
La taille de page par défaut est 10.
4. Définissez la propriété AbsolutePage de Recordset
comme suit :
Copiez le code comme suit :
Dim intCurrentPage
intCurrentPage=1
objMyRst.AbsolutePage=intCurrentPage
AbsolutePage vaut 1 pour la valeur PageCount de l'objet Recordset
5.
Le coded'affichage
du code de copie de données est le suivant :
Response.Write(<table>)
PrintFieldName(objMyRst)
For i=1 To objMyRst.PageSize
PrintFieldValue(objMyRst)
objMyRst.MoveNext
If objMyRst.Eof Then Exit For
Next
Response.Write( </table> )
Consignes :
1. adOpenStatic, adUseCilentBatch, adCmdText sont des constantes définies par adovbs.inc Pour les utiliser, copiez adovbs.inc dans le répertoire actuel et incluez-les dans le programme
comme suit :
<! --#Include File=adovbs.inc-->
2. Le code de la fonction PrintFielName, PrintFieldValue est le suivant :
Copiez le code comme suit :
<%
Function PrintFieldName(objMyRst)
'Le paramètre objMyRst est un objet Recordset
' Définition
Dim objFld
Response.Write < tr bgcolor='#CCCCCC'>
Pour chaque objFld dans objMyRst.Fields
Response.Write <td> & objFld.Name & </td>
Next
Response.Write(</tr>)
Fin Fonction
Fonction PrintFieldValue(objMyRst)
'Le paramètre objMyRst est un objet Recordset
' Définition
Dim objFld
Response.Write(<tr >)
Pour Chaque objFld dans objMyRst.Fields
'Response.Write<td> & objMyRst.Fields(intLoop).value & </td>
Response.Write <td> & objFld.value & </td>
Next
Response.Write(<tr>)
End Function
%>