Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2008, 07:19
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Ayuda con paginación

Hola

Prueba con esto

Código asp:
Ver original
  1. mostrar = 26
  2.  
  3. rs.PageSize = mostrar
  4. rs.CacheSize = mostrar
  5.  
  6. cant_paginas = rs.PageCount
  7. cant_registros = rs.RecordCount
  8.  
  9. 'La consulta
  10.  
  11. ' Si el pedido de página cae afuera del rango, lo modificamos para que caiga adentro
  12. If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
  13. If pagina_actual < 1 Then pagina_actual = 1
  14.  
  15. BarraDePaginacion(cant_paginas, pagina_actual)%>
  16.  
  17. rs.AbsolutePage = pagina_actual
  18.  
  19. Dim registros
  20. registros=rs.getrows()
  21.  
  22. For i=0 to UBound(registros,2)
  23. registros_mostrados = 0
  24. If registros_mostrados > (mostrar-1) then
  25. Exit For
  26. Else
  27.  
  28. ' Imprimo la lista
  29.  
  30. End If
  31. registros_mostrados = registros_mostrados + 1
  32. Next ' i

Función

Código asp:
Ver original
  1. Function BarraDePaginacion(PaginasTotales, PaginaActual)
  2.     'Modificar el contenido de las constantes para cambiar el aspecto de la barra de navegación
  3.     const EstiloDeLaTabla = "border: 1px solid #A4A4A4; font-family: Arial, Helvetica, sans-serif; font-size: 10px;"
  4.     const EstiloCeldaPaginaXdeY = "background-color: #000000; color: #FFFFFF;"
  5.     const LinkDelEnlace = "resultado"
  6.     const LinkDelEnlace2 = "resultado_flecha"
  7.     const LinkDelEnlace3 = "resultado_textoflecha"
  8.     const EstiloDeLaCeldaPaginaActual = "background-color:#FFFFFF; color:#000000; font-weight:bold;"
  9.  
  10.  
  11.     if PaginasTotales > 1 then
  12.         if PaginasTotales > 7 then MostrarUltima = true    
  13.         TablaConBarraDeNavegacion = "</td><td><div class=""alineacion"" align=""right""><table border=""0"" cellpadding=""2"" cellspacing=""1"" style=""" & EstiloDeLaTabla & """><tr><td style=""" & EstiloCeldaPaginaXdeY & """>&nbsp; P&aacute;gina " & PaginaActual & " de " & PaginasTotales & "&nbsp;&nbsp;</td>"
  14.         if PaginaActual >= 6 then
  15.             TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td class=""" & LinkDelEnlace3 & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=1""><strong>« </strong>Primero</a></td><td class=""" & LinkDelEnlace2 & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina="&pagina_actual -1&""" ><strong>«</strong></a></td>"
  16.  
  17.             CantidadAMostrarDeAnterioresYPosteriores = 3
  18.             'Indicamos la celda central como activa, y sin link
  19.             '(la 3ª, de las 7 mostradas), y el resto con link
  20.             for i = 1 to 7
  21.                 'No mostramos link si estamos en la 3ª celda de las 7 mostradas
  22.                 if i = 4 then
  23.                     TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaActual & """>" & PaginaActual & "</td>"
  24.                 else
  25.                 'Mostramos el link si estamos en las celdas distintas de la 3ª (la central)
  26.                     TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" class=""" & LinkDelEnlace & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores &""">" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & "</a></td>"
  27.                 end if
  28.  
  29.                 if PaginaActual - CantidadAMostrarDeAnterioresYPosteriores = PaginasTotales then
  30.                     MostrarUltima = False
  31.                     Exit For
  32.                 end if
  33.  
  34.                 CantidadAMostrarDeAnterioresYPosteriores = CantidadAMostrarDeAnterioresYPosteriores - 1
  35.             next
  36.         else
  37.             if PaginasTotales < 7 then
  38.                 for i = 1 to PaginasTotales
  39.                     if i <> PaginaActual then
  40.                         TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center""  class=""" & LinkDelEnlace & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=" & i & """>" & i & "</a></td>"
  41.                     else
  42.                         TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
  43.                     end if
  44.                 next
  45.             else
  46.                 For i = 1 to 7
  47.                     if i <> PaginaActual then
  48.                         TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" class=""" & LinkDelEnlace & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=" & i & """>" & i & "</a></td>"
  49.                     else
  50.                         TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
  51.                     end if
  52.                 next
  53.             end if
  54.         end if
  55.  
  56.  
  57.         if MostrarUltima = true then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td class=""" & LinkDelEnlace2 & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=" & pagina_actual +1& """><strong>»</strong></a></td><td class=""" & LinkDelEnlace3 & """><a href="""& PaginaActualBarraDeNavegacion & "?f="&f&"&amp;pagina=" & PaginasTotales & """>&Uacute;ltimo <strong>»</strong></a></td>"
  58.         TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "</tr></table></div>"
  59.         BarraDePaginacionTemas = TablaConBarraDeNavegacion
  60.     end if
  61. End Function

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />