USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Exemplo de paginação simples e funcional. Totalmente comentado!
Postada em 11/10/2004 por vilmarbr         
<!--
Abaixo segue exemplo de paginação simples e funcional. Totalmente comentado!
É só vc. adaptar a conexão ao banco de dados, mudar tabela do BD acessada e os seus respectivos campos. Depois liste na tela como quiser!
Troque o nome exemp_paginacao.asp na paginação pelo nome futuro da sua página.

Vilmar Brazão de Oliveira
-->
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit   'força declaração de variável, TEM QUE SER A 1ª DECLARAÇÃO APÓS A DIRETIVA @LANGUAGE.......
Response.Expires = -1   'evita cache no servidor, mostra a versão mais atual da página.
%>
<html>
<head>
     <title>Exemplo de Páginação</title>
</head>
<!--#include file="includes/adovbs.inc" -->
<!--#include file="conn_dbAT.asp" -->
<body>
<%
'Variáveis de páginação
Dim iPageSize       'Define quão grande será cada página
Dim iPageCount      'O nº de páginas para se movimentar pelo recordset
Dim iPageCurrent    'A página corrente(atual)
Dim strSQL          'String SQL a ser executada
Dim Rs     'Objeto de recordset
Dim iRecordsShown   'Controlador de loop p/ mostrar exatamente os registros de cada tamanho de página(iPageSize)
Dim I               'Usada no loop dos laços for
Dim Mostrado        'Registro mostrado na tela

'»»Parâmetros passados para paginação
iPageSize = 10 'Aqui pode-se aumentar ou diminuir o nº de registros por página.

'Recupera página p/ apresentar ou seta como default 1 a página atual
If Request.QueryString("PaginaMostrada") = "" Then
     iPageCurrent = 1
Else
     iPageCurrent = CInt(Request.QueryString("PaginaMostrada"))
End If
'»»Parâmetros passados para paginação

'SE FOREM USADOS PARÂMETROS NA CONSULTA SQL, SERÁ PRECISO PASSÁ-LOS NA URL
strSQL = "Select AtContato from HT_DBAU001_DAtend WHERE AtCod = 5000 ORDER BY AtDtAtend"
'Response.Write "strSQL:<br>" &  strSQL & "<BR>"
'Response.End()

Set Rs = Server.CreateObject("adodb.recordset") '»»É preciso declarar o recordset dessa forma qdo. usa-se RS.Open
Rs.CursorLocation = adUseClient
Rs.CursorType = adOpenForwardOnly  'tipo do cursor
Rs.LockType = adLockOptimistic  'tipo de bloqueio do cursor
Rs.CacheSize = iPageSize
Rs.PageSize = iPageSize
Rs.Open strSQL,Conexao '»»Abre-se o recordset desta forma qdo. precisa de usar seus vários métodos e propridades

'Contador de páginas
iPageCount = Rs.PageCount

'Se houver mais páginas a serem exibidas, a pág. corrente será = ao contador de pág.
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
'Se não houver mais páginas a serem exibidas, a página corrente será 1
If iPageCurrent < 1 Then iPageCurrent = 1

'Verifique a contagem da página para impedir bombardear quando os resultados zero são retornados!
If iPageCount > 0 Then
     ' Move para página selecionada.
     Rs.AbsolutePage = iPageCurrent
'Inicia saída com uma Página X de N linha
%>
     <p>
     <font size="3">Página <strong><%= iPageCurrent %></strong>
     de <strong><%= iPageCount %></strong></font>
     </p>
<%
     'Loop através dos registros e saída 1 linha por registro
     iRecordsShown = 0
     Do While iRecordsShown < iPageSize And Not Rs.EOF
          Mostrado = Rs("AtContato") & ""
          Mostrado = Replace(Mostrado,Chr(0),"")
          Response.Write "Nome:&nbsp;" & Mostrado & "<br>"

          iRecordsShown = iRecordsShown + 1 '»»Incrementa o nº de registros apresentados
          Rs.MoveNext '»»Não esquecer de mover p/ próximo registro!
     Loop
End If
Response.Write "<br><br>"

'»»INÍCIO: Mostrar links anterior e próxima e nºs de página.
If iPageCurrent > 1 Then '»»Mostra link p/ pág. anterior.
%>
     <a href="exemp_paginacao.asp?PaginaMostrada=<%= iPageCurrent - 1 %>">[<< Anterior]</a>
<%
End If

'»»INÍCIO: Apresentar nº de páginas.
For I = 1 To iPageCount
'Só montará link c/ o Nº da pág. se não for a pág. corrente
     If I = iPageCurrent Then
          Response.Write "<strong>" & I & "</strong>"
     Else
     %>
          <a href="exemp_paginacao.asp?PaginaMostrada=<%=I%>"><%=I%></a>
     <%
     End If
Next
'»»FIM: Apresentar nº de páginas.

If iPageCurrent < iPageCount Then '»»Mostra link p/ pág. posterior.
%>
     <a href="exemp_paginacao.asp?PaginaMostrada=<%=iPageCurrent + 1%>">[Próxima >>]</a>
<%
End If
'»»FIM: Mostrar links anterior e próxima e nºs de página.
%>
</body>
</html>
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página