Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/10/2009, 17:20
Avatar de Wasper
Wasper
 
Fecha de Ingreso: julio-2006
Ubicación: de cai, picha!!!
Mensajes: 1.030
Antigüedad: 17 años, 11 meses
Puntos: 41
Respuesta: Duda al Paginar en ASP

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 & """>&nbsp; P&aacute;gina " & PaginaActual & " de " & PaginasTotales & "&nbsp;&nbsp;</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
__________________
Saludos, Jose

Paginas web y SEO
Anuncios por palabras

Última edición por Wasper; 17/10/2009 a las 04:26