Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297

    ... spostarsi tra pagina di un elenco matenendo la paginazione ... come?

    Ciao a tutti,
    avrei un problema con una visualizzazione di record.

    Da una tabella estraggo con query sql tutti i miei dati ordinandoli per nome e dandogli la classica paginazione con il solito codice
    - rs.PageSize = RecordsPerPage
    - rs.AbsolutePage = Page

    Il problema è che i record sono tanti e il cliente dice che se deve andare a pescare un prodotto che si trova nella 50° pagina di 100 [cioè a metà elenco] ci mette troppo se deve sfogliare tutte le pagine.
    Quindi vorrebbe tutte le lettere dell'alfabeto in alto
    [A] [B] [C] ecc. e nel momento in cui clicca per esempio la [M] mi vengano visualizzati tutti i prodotti che iniziano con la M PERO MANTENENDO LA PAGINAZIONE.

    Cioè se i primo prodotto con M è a pagina 50 allora dovrò spostarmi a pagina 50 di 1/100 e se clicco su pagina precedente vedo tutti quelli da M ad A se clicco su pagina successiva tutti gli M e quelli da M a Z.

    Il mio problema è proprio mantenere la paginazione sospostandosi solo tra pagine ...
    Qualche idea?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Re: ... spostarsi tra pagina di un elenco matenendo la paginazione ... come?

    Originariamente inviato da Franz_79
    Ciao a tutti,
    avrei un problema con una visualizzazione di record.

    Da una tabella estraggo con query sql tutti i miei dati ordinandoli per nome e dandogli la classica paginazione con il solito codice
    - rs.PageSize = RecordsPerPage
    - rs.AbsolutePage = Page

    Il problema è che i record sono tanti e il cliente dice che se deve andare a pescare un prodotto che si trova nella 50° pagina di 100 [cioè a metà elenco] ci mette troppo se deve sfogliare tutte le pagine.
    Quindi vorrebbe tutte le lettere dell'alfabeto in alto
    [A] [B] [C] ecc. e nel momento in cui clicca per esempio la [M] mi vengano visualizzati tutti i prodotti che iniziano con la M PERO MANTENENDO LA PAGINAZIONE.

    Cioè se i primo prodotto con M è a pagina 50 allora dovrò spostarmi a pagina 50 di 1/100 e se clicco su pagina precedente vedo tutti quelli da M ad A se clicco su pagina successiva tutti gli M e quelli da M a Z.

    Il mio problema è proprio mantenere la paginazione sospostandosi solo tra pagine ...
    Qualche idea?

    Grazie
    Non credo sia complicato.. sui link delle lettere dell'alfabeto, inserisci la variabile che ti fà navigare tra i record.. ad esempio:
    paginaA.asp?id=<%=ciccio%>&blabla=<%=ciccio%>&page =<%=page%>
    Voglio l'alt+s anche per FF

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297
    Ma io non so a priori in quale pagina il primo risultato con la lettera M si trova, potrebbe essere alla 30 pagina o alla 16 ... di conseguenza page=<%page%> sarebbe vuoto ...

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Franz_79
    Ma io non so a priori in quale pagina il primo risultato con la lettera M si trova, potrebbe essere alla 30 pagina o alla 16 ... di conseguenza page=<%page%> sarebbe vuoto ...
    page=<%page%> sicuramente sarà vuoto..
    scusa ma allora non riesco a capire cosa vuoi fare..
    cosa significa in realtà:
    tutti i prodotti che iniziano con la M PERO MANTENENDO LA PAGINAZIONE
    Vuoi vedere tutti i prodotti che iniziano con la M ? bene, selezioni tutti i record che iniziano nel campo "X" con la lettera M..
    E ovviamente vedrai solo quelli con la M..
    Voglio l'alt+s anche per FF

  5. #5
    prova a fare un ciclo che scorra tutto il recordset (scorrendolo anche con le pagine). Nel ciclo controlli che la prima lettera sia la lettera che vuoi vedere. Appena è vero fermi il ciclo e ti segni la pagina in cui sta. E poi fai il redirect a quella pagina

    ad es:

    codice:
    miorecordset //il recordset che hai caricato con la query
    trovatoLettera=false //controller
    
    stoA=1//pagina che controllo
    
    while not trovatoLettera=true or stoA>miorecordset.PageSize
    
    miorecordset.absolutepage=stoA
    while not miorecordset.eof
    if left(miorecordset("nome"),1)=mia_lettera then
    trovatoLettera=true
    vaiApag=stoA
    end if
    miorecordset.movenext
    wend
    stoA=stoA+1
    wend
    
    //mi sposto alla pagina voluta
    miorecordset.absolutepage=vaiApag
    
    //mostro i risultati
    
    etc etc
    credo che questo sia un metodo. poi se ce ne sono altri ora non mi vengo alla mente

  6. #6
    Vedi se questo tutorial può esserti utile

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.