Os posteo una nueva version del paginador que me ha paso mi amigo Adler.
Datos de la nueva version del paginador:
- Añadido botones de Siguiente y Anterior
- Eliminado el boton de Ultimo (por lo que a mi respecta no sirve de nada)
- Añadido el envio de un nuevo campo a la funcion llamado paginador, se le envia un numero y nos mostrara en el paginador tantas paginas como la cantidad enviada (antes estaba limitado a visualizar 5 paginas, era muy poco)
Meter en un archivo llamado
funcion.asp este codigo
Código:
<%
Function BarraDeNavegacion(PaginasTotales, PaginaActual, paginador)
'Modificar el contenido de las constantes para cambiar el aspecto de la barra de navegación
const EstiloDeLaTabla = "border: 1px solid #D6AD6B; font-family: Arial, Helvetica, sans-serif; font-size: 10px;"
const EstiloCeldaPaginaXdeY = "color: #846B42; background-color: #D6AD6B;"
const LinkDelEnlace = "link1"
const EstiloDeLaCeldaPaginaActual = "background-color:#EFD6AD; font-weight:bold;"
const EstiloDeLaCeldaPaginaConLink = "background-color:#F7E7C6"
if PaginasTotales > 1 then
if PaginasTotales > paginador then MostrarUltima = true
TablaConBarraDeNavegacion = "<table border=""0"" cellpadding=""2"" cellspacing=""1"" style=""" & EstiloDeLaTabla & """><tr><td style=""" & EstiloCeldaPaginaXdeY & """> Página " & PaginaActual & " de " & PaginasTotales & " </td>"
if PaginaActual >= 4 then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=1" & """ class=""" & LinkDelEnlace & """><strong>«</strong> Primera</a></td>"
CantidadAMostrarDeAnterioresYPosteriores = 2
end if
'NUEVA LINEA QUE AGREGA LA POSIBILIDAD DE IR A LA PAGINA SIGUIENTE
if PaginaActual >= 4 then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=" & PaginaActual-1 & """ class=""" & LinkDelEnlace & """><strong>«</strong> Anterior</a></td>"
'AQUI TERMINA LA PARTE DE IR A SIGUIENTE
'Indicamos la celda central como activa, y sin link
'(la 3ª, de las 5 mostradas), y el resto con link
for i = 1 to paginador
'No mostramos link si estamos en la 3ª celda de las 5 mostradas
if i = 3 then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaActual & """>" & PaginaActual & "</td>"
else
'Mostramos el link si estamos en las celdas distintas de la 3ª (la central)
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaConLink & """><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & """ class=""" & LinkDelEnlace & """>" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & "</a></td>"
end if
if PaginaActual - CantidadAMostrarDeAnterioresYPosteriores = PaginasTotales then
MostrarUltima = False
Exit For
end if
CantidadAMostrarDeAnterioresYPosteriores = CantidadAMostrarDeAnterioresYPosteriores - 1
next
else
if PaginasTotales < paginador then
for i = 1 to PaginasTotales
if i <> PaginaActual then
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>"
else
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
end if
next
else
For i = 1 to paginador
if i <> PaginaActual then 'AQUI ESTAN LOS LINKS DE LOS NUMEROS
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>"
else
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>"
end if
next
end if
end if
if PaginasTotales <> PaginaActual then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?buscar=" & "&paginaactual=" & Paginaactual+1 & """ class=""" & LinkDelEnlace & """>Siguiente <strong>»</strong></a></td>"
TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "</tr></table>"
BarraDeNavegacion = TablaConBarraDeNavegacion
end if
end Function
%>
Despues en vuestras paginas ASP debereis llamar a la funcion de esta manera
Código:
<%=BarraDeNavegacion(maxpagina, int(pagina_actual), long_paginador)%>
Los campos necesarios a enviar son Maximo de paginas (total), la pagina actual, tamaño del paginador.
Espero que os ayude como me ha ayudado a mi.
Podreis editar luego los estilos y demas.
Saludos, J@se