Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    paginazione in automatico

    Ciao a tutti ho paginato un datagrig come suggerito qui http://www.aspitalia.com/articoli/as...ne.aspx?page=2

    Ora dovrei modificare questo codice in modo che la pagina vada avanti da sola ad ogni refresh della pagina, che ho lanciato con un meta... come posso fare?

    grazie
    Elisa

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    il refresh viene contato come un nuovo page_load .. x cui potresti mettere ke la pagina del datagrid si aumenta automaticamente di uno ..
    cioè

    page_load
    codice databind
    'bla bla bla
    numero pagina datagrid = numero pagina datagrid +1

    anke se credo abbia qualke controindicazione (tipo cattiva gestione postback)..
    xkè devi usare questo sistema?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    a parte che sei stato un po' sintetico e mica ti ho capito tanto!
    Cmq io avevo iniziato così:
    page_load
    If Not Page.IsPostBack Then BindData()

    BindData() ....tutta la paginazione e la visualizzazione del datagrid

    e
    Sub saltapagina(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
    dgAnnunci.CurrentPageIndex = e.NewPageIndex
    BindData()
    End Sub

    ma questo va bene se ho i pulsantini avanti e indietro...

    cmq mi serve una cosa del genere perchè sono degli annunci e li devo mostrare uno per volta con refresh in automatico (così mi è stato chiesto). quindi io avevo pensato ad una soluzione del genere

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    usa questo codice come paginatore ..

    If Not Session("pagina") Is Nothing Then
    dgAnnunci.CurrentPageIndex = Session("pagina")
    Else
    dgAnnunci.CurrentPageIndex = 0
    'la prima pagina
    End If
    Session("pagina") = dgAnnunci.CurrentPageIndex + 1

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    purtroppo nn va ne visualizza uno e nn va avanti...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Originariamente inviato da elisa_rm74
    purtroppo nn va ne visualizza uno e nn va avanti...
    l'ho modificato ..
    codice:
    If Not Session("pagina") Is Nothing Then
    dgAnnunci.CurrentPageIndex = Session("pagina")
    Else
    dgAnnunci.CurrentPageIndex = 0
    'la prima pagina
    End If
    Session("pagina") = dgAnnunci.CurrentPageIndex + 1

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ora provo... però una domanda questa sub della paginazione, la devo richiamare dal page_load? giusto?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    si
    ti conviene mettere direttamente tutto nella sub dove fail il databind

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    dunque dovrebbe essere così (levando "try catch" per praticità):
    Dim quanti As Integer
    If Not Session("pagina") Is Nothing Then
    dgAnnunci.CurrentPageIndex = Session("pagina")
    Else
    dgAnnunci.CurrentPageIndex = 0
    End If
    Session("pagina") = dgAnnunci.CurrentPageIndex + 1

    Dim DSN As String = ConfigurationSettings.AppSettings("connessione")
    Dim Conn As OleDbConnection
    Conn = New OleDbConnection(DSN)
    Conn.Open()

    Dim sqlAnn As String = "SELECT top 10 T_OFFERTE.ID_OFFERTA, T_OFFERTE.Codice, OFFERTE_FILE.NOME_FILE, T_OFFERTE.Descrizione FROM T_OFFERTE LEFT JOIN OFFERTE_FILE ON T_OFFERTE.ID_OFFERTA=OFFERTE_FILE.ID_OFFERTA where OFFERTE_FILE.TIPOFILE='FotoEsterna' or OFFERTE_FILE.TIPOFILE='Foto' ORDER BY DATAVALIDITA desc"
    If dgAnnunci.VirtualItemCount = 0 Then
    quanti = 10
    dgAnnunci.VirtualItemCount = quanti
    Else
    quanti = dgAnnunci.VirtualItemCount
    End If

    Dim CmdAnn As New OleDbDataAdapter(sqlAnn, Conn)
    Dim dsAnn As DataSet = New DataSet
    CmdAnn.Fill(dsAnn, (dgAnnunci.CurrentPageIndex * 1), 1, "Annunci")
    Dim Source As DataView = dsAnn.Tables("Annunci").DefaultView
    dgAnnunci.DataSource = Source
    dgAnnunci.DataBind()

    Conn.Close()
    e mi da quest'errore:
    System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto

    alla riga:
    Dim Source As DataView = dsAnn.Tables("Annunci").DefaultView

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    ok ok ero io funziona!!! grazie mille!
    Elisa

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 © 2026 vBulletin Solutions, Inc. All rights reserved.