27 messaggi dal 06 settembre 2002
Ciao a tutti,
Sto cercando di mostrare solo n pagine per volta in una paginazione, inserendo << per le pagine precedenti e >> per le successive ai limiti da me impostati.
Il tutto così:
dopo aver calcolato gli estremi se necessario mostra << o >>.
Tutto funziona ttranne nel caso in cui la pagina attuale sia un multiplo del numero di pagine che voglio mostrare.
Ad esempio per la pagina 10, e un intervallo di pagine da mostrare di 5 pagine per volta dovrei avere

<< 6 7 8 9 10 >>

ma ottengo << 6 7 8 9 10 11 12 ... n

la cosa strana è che con tutte le pagine che non sono multiple lo script funziona.

Il problema, ho controllato, è che il test
<code>

IF EndPage&lt;rst.PageCount THEN
...
END IF

</code>

non risulta verificato nel caso in esame.

Mi spiego meglio:
Es. PageCount=21
PagineDaMostrare=5
EndPage=9

EndPage&lt;rst.PageCount è TRUE

mentre con EndPage=10

EndPage&lt;rst.PageCount è FALSE

Perchè?

Tutto il resto del codice è OK, l'ho già controllato centinaia di volte riga per riga...
27 messaggi dal 06 settembre 2002
PS. dimenticavo, se volete vedere il problema in pratica visitate

www.crnonline.org/rassegna

e selezionate "ultimi 60 giorni" e "tutte" nelle caselle di riepilogo per avere restituiti molti record, poi provate le pagine 5,10 e 15...
27 messaggi dal 06 settembre 2002
Ho trovato la soluzione:

ho contato i record restituiti dalla SELECT e in base a questi ho calcolato il numero delle pagine occorrenti e memorizzarlo in TotalPages, poi il test

<code>
IF EndPage&lt;rst.PageCount THEN
...
END IF
</code>

l'ho sostituito con

<code>
IF CInt(EndPage)&lt;CInt(TotalPages) THEN
...
END IF
</code>

Non ho usato

<code>
IF CInt(EndPage)&lt;CInt(rst.PageCount) THEN
...
END IF
</code>

perchè pur risolvendo il problema me ne dà un altro relativo alla pagina finale, mentre col primo metodo tutto funziona liscio.

Grazie a tutti cmq.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.