Foros del Web » Programando para Internet » ASP Clásico »

Painacion de 20 en 20

Estas en el tema de Painacion de 20 en 20 en el foro de ASP Clásico en Foros del Web. Gracias a todos: Me estoy volviendo loco.... Tengo una tabla muy grande y necesito paginarla. He visto muchos ejemplos y en todo esllos los muestra ...
  #1 (permalink)  
Antiguo 24/04/2002, 08:13
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 23 años, 4 meses
Puntos: 0
Painacion de 20 en 20

Gracias a todos:

Me estoy volviendo loco.... Tengo una tabla muy grande y necesito paginarla. He visto muchos ejemplos y en todo esllos los muestra de la siguiente manera

<<Anterior 01 02 03 04 05......... 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34..... Siguiente>>

Pero ninguno lo hace escalonado, es decir de 20 en 20

01 02 03 04 05.... 20 Siguiente>>

y al pulsar siguiente que aparezca

<<Anterior 21 22 23 24 25..... 40 Siguiente>>


¿Alguien sabe como se hace o donde puedo encontrar un ejemplo de este tipo?

Muchas Gracias
  #2 (permalink)  
Antiguo 26/04/2002, 02:54
 
Fecha de Ingreso: enero-2002
Mensajes: 33
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: Painacion de 20 en 20

¿En serio que nadie puede ayudarme?
  #3 (permalink)  
Antiguo 26/04/2002, 13:45
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Painacion de 20 en 20

aquí está n ejemplo, hermano.

*****************************
Dim pag, iEstado
Dim oConn, SQL, rs
Dim aDatos, iTotal
Dim I, J


Server.ScriptTimeout=1020

'Nos conectamos a la base de datos...
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")

oConn.open "DSN=cancela"


sql="SELECT campo1,campo2 FROM tabla"

'Vamos a utilizar el Recordset más eficiente
'CursorType = Forward-Only
rs.CursorType = 0

'LockType = Read-Only
rs.LockType = 1

'CursorLocation = adUseClient
rs.CursorLocation = 3

'Y abrimos el Recordset
rs.Open SQL, oConn
'g= rs("fchcomplet")
Response.Write("<hr>")
'Obtengo los datos con GetRows
aDatos = rs.GetRows

'Cierro y limpio objetos ya
rs.Close
oConn.Close
set rs = nothing
set oConn = nothing

'Obtengo la página a mostrar de
'la querystring
pag = CInt(Request.QueryString("P"))
'Y llamo a PaginarGR
iEstado = PaginarGR (30, pag, aDatos)

' PaginarGR -- Pagina un vector bidimensional
' vector es el vector a paginar, iPag la página a mostrar y iRegsPorPag el nº de
' registros por cada página que queremos.

Function PaginarGR (iRegsPorPag, iPag, vector)
'
'I, J se utilizan para recorrer el vector
Dim I, J
'Total de páginas y la página que queremos mostrar
Dim iPaginas, iPagActual
'Total de registros, registro en que empezamos y registro en que terminamos
Dim iTotal, iComienzo, iFin

'Hallo el total de registros devueltos
iTotal = UBound(aDatos,2)+1
'Calculo el numero de páginas que tenemos
iPaginas = (iTotal \ iRegsPorPag)
'Si daba decimales, añado una más
'para mostrar los últimos registros
if iTotal mod iRegsPorPag > 0 then
iPaginas = iPaginas + 1
end if
'Si no es una página válida, comienzo en la primera
if iPag < 1 then
iPag = 1
end if
'Si es una página mayor al nº de páginas, comienzo en la última
if iPag > iPaginas then
iPag = iPaginas
end if
Response.Write("Página " & iPag & " de " &
**********comtinua************
  #4 (permalink)  
Antiguo 26/04/2002, 13:46
 
Fecha de Ingreso: septiembre-2001
Mensajes: 109
Antigüedad: 23 años, 8 meses
Puntos: 0
Re: Painacion de 20 en 20

*****paciencia aqui está el resto*****

'Calculo el índice donde comienzo:
iComienzo = (iPag-1)*iRegsPorPag
'y donde termino:
iFin = iComienzo + (iRegsPorPag-1)
'Si no tengo suficientes registros restantes,
'voy hasta el final
if iFin > UBound(vector, 2) then
iFin = UBound(vector, 2)
end if

'Pinto la tabla
Response.Write("<TABLE BORDER=""1"">")
Response.Write("<TR><TD><h4&gt ;Coordina</TD><TD><h4>Unidad de Negocio</TD><TD><h4>Grupo</TD><TD><h4>Total Inst.</TD></TR>")
for I= iComienzo to iFin
Response.Write("<TR>")
for J=0 to UBound(vector,1)
Response.Write("<TD>" & vector(J,I) & "</TD>")
next
next
Response.Write("</TABLE><br><br>")

if iPag > 1 then
Response.Write("<A HREF=""unegocio.asp?P="&iPag-1&"""><b>Anterior&lt ;/b></A>  ")
end if
if iPag < iPaginas then
Response.Write("<A HREF=""unegocio.asp?P="&iPag+1& amp;"""><b>Siguiente</b></A> ")
end if

PaginarGR = 0

End Function
  #5 (permalink)  
Antiguo 06/05/2002, 18:40
Avatar de PSChild  
Fecha de Ingreso: diciembre-2001
Ubicación: Google
Mensajes: 762
Antigüedad: 23 años, 5 meses
Puntos: 0
Re: Painacion de 20 en 20

Buenas.
Yo estoy intentando paginar una galeria de imagenes, solo que sin usar BD.
El codigo muestra todas las imagenes existentes en un directorio y las muestra en una tabla y al pulsar busca la imagen en otro directorio, (en el que estan las ampliaciones).
¿¿Podrían ayudarme a paginar los resultados para que me mostrara las imagenes de 12 en 12, o 16 en 16 por pagina, en vez de mostrarlas todas.??

Muchas Gracias
Salu2

<center><img src='http://www.webhispania.com/recursos/firmas/noexpire.gif' width='468' height='60' border='0' alt='En contra de No Expire, la nueva normativa de IRC HISPANO, Pagar por obtener privilegios.'></center>
  #6 (permalink)  
Antiguo 08/05/2002, 12:28
Avatar de PSChild  
Fecha de Ingreso: diciembre-2001
Ubicación: Google
Mensajes: 762
Antigüedad: 23 años, 5 meses
Puntos: 0
Re: Painacion de 20 en 20

Por favor, nadie tiene alguna idea sobre la paginación directa sobre cantidad de archivos, sin tener que consultar una BD. :(

Gracias
Salu2

<center><img src='http://www.webhispania.com/recursos/firmas/noexpire.gif' width='468' height='60' border='0' alt='En contra de No Expire, la nueva normativa de IRC HISPANO, Pagar por obtener privilegios.'></center>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:28.