Visualizzazione dei risultati da 1 a 9 su 9

Discussione: datagrid - dataset

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    105

    datagrid - dataset

    ho una pagina contenente un DataGrid riempito tramite un DataSet.

    una volta selezionata la riga interessata, mi sposto su una seconda pagina
    dove visualizzo tutti i dati relativi alla riga selezionata.

    in questa pagina vorrei inserire i tasti "precedente" e "successivo", che mi permettono
    di scorrere le righe della DataGrid e di visualizzare i dati relativi.


    coem posso fare?
    quali sono gli input che mi potete dare?
    Vettorob

  2. #2

    Data Grid

    devi settare le proprietà PAGERSTYLE dell'oggetto datagrid e impostarle su nextprevmode (o qualcosa di simile)

    del tipo grdDataGrid1.pagerstyler.mode = nextprevmode

  3. #3
    mi sposto su una seconda pagina
    dove visualizzo tutti i dati relativi alla riga selezionata.
    beè allora è un problema alla vecchia maniera asp...

    ti fai cerchi qual'è l'id da passare via querystring per il successivo e precedente e sei a posto
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Immagino che per passare alla sonda pagina fai una cosa del genere:

    codice:
    Response.Redirect("Pagina2.aspx?ID=" & IDRecord)
    In Pagina2.aspx imposti per il pulsante avanti

    codice:
    Response.Redirect("Pagina2.aspx?ID=" & Request.Querystring("ID") + 1)
    E per il pulsante indietro

    codice:
    Response.Redirect("Pagina2.aspx?ID=" & Request.Querystring("ID") - 1)

    Hey hey, my my Rock and roll can never die!

  5. #5
    si il fatto è che in quella tabella magari avrà + categorie (che vengono distinte da un campo ) quindi può essere che non sia sufficiente fare +1 e -1 perchè magari ci si sposterebbe in un item di un'altra categoria.
    bisogna filtrare la tabella per la propria categora e andare 1 record avanti e indietro per individuare l'id esatto

    sempre che di categoria si tratti , altrimenti come dice Zampa è ok
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    105
    giusto, ma solo in parte!
    perchè non è detto che il +1 possa sempre funzionare.

    in realtà le pagine sono tre.

    1.aspx dove imposto dei parametri per eseguire una ricerca filtrata.

    2.aspx dove visualizzo il risultato della ricerca in una griglia.

    3.aspx dove visualizzo il solo "record" selezionato.


    il problema è che nella pagina 2, dove visualizzo i risultati, potranno esserci un numero di record con Id svalsato.
    cioè, potrà succedere che vengano visualizzati 5 record con ID= 1,2,3,7,10.

    a questo punto io non puosso fare il +1.
    ma volevo sapere se è possibile fare il "movenext" sulla grid della pagina 2.aspx.
    Vettorob

  7. #7
    certo e io che ho detto ?
    tu devi filtrare e quindi sapere che se sei su id 3 il prox è id 7 e quello precedente id 2

    questo punto sei a posto
    Frate Priore: "È Lucifero in persona!"
    Trinità: "Lo conosci?"
    Bambino: "Mai sentito nominare, deve essere un professionista dell'est"

  8. #8

    ...

    Ma il prev next devi farlo per la pagina che visualizza un record alla volta (la 3 tanto per intenderci) o per la pagina con il datagrid?


    Perchè se così fossi puoi prendere la DataTable dal DataSet e a quel punto scorrere con un DataRow la colonna ID

    Altrimenti ti fai una funzione per l'incremento del +1. Nel senso una

    private function returnNextID(CurrentID as integer) as integer
    if isLast(currentID) then return 0
    dim nextId as integer = currentID + 1
    dim exist as boolean = False

    do while not exist
    exist = existInDB(nextID)
    nextID +=1
    loop

    return nextID

    end function


    Dove:
    - CurrentID è l'id dove ti trovi
    - returnNextID è il primo ID che esiste
    - isLast(id as integer) è una function che ritorna true false a seconda dell'id passato è l'ultimo o meno
    - existInDB(id as integer) è una function che ritorna true false a seconda dell'id passato esiste o meno

    In poche parole la funzione returnNextID non fa latro che sommare a CurrentiID +1 e controllare se esiste. Se esiste lo ritorna e tu lo puoi visualizzare, altrimenti somma +1.
    Sulla stessa linea fai returnPrevID


    Fammi sapere

  9. #9

    BACO NELLA FUNZIONE

    scusa nella mia funzione c'è un baco...
    nella riga

    return nextID -1

    ciao

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.