Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    GridView, evento PageIndexChanging regolato da un timer

    Salve, programmo in asp.net, utilizzando per lato server il codice vb.net.

    Ho caricato la mia GridView tramite interrogazione a un database. Ne ho anche gestito il paging nel seguente modo:

    Protected Sub GrdNome_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GrdNome.PageIndexChanging
    GrdNome.PageIndex = e.NewPageIndex
    CaricaGriglia()
    End Sub
    Vorrei, se possibile, scatenare l'evento PageIndexChanging ogni tot. secondi. Purtroppo non ho codice errato da mostrarvi, non sono riuscito a trovare sul web materiale che facesse il mio caso. Se qualcuno può indirizzarmi con del codice, o un link, gliene sarei grato.

    Spero di aver rispettato le regole del forum. Vi ringrazio in anticipo e vi auguro una buona giornata.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,733
    ciao, a parte la realizzazione (lato client si puo' fare il submit della form ogni tot con javascript), che senso ha l'esigenza, cioe' chiamare il gestore di cambio pagina ogni tot secondi ?

  3. #3
    Ciao, ho questa esigenza perchè il sistema deve mostra n° risultati della query per volta su un televisore dove nessuno ci mette le mani, quindi ogni tot secondi mostro n. elementi in sequenza.

    Es. banale: devo mostrare i risultati di 20 partite, li mostro 5 alla volta.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,733
    ok. provero' a rispondere a memoria..

    potresti provare ad incrementare una variabile di sessione o viewstate di 1 ad ogni postback, ed usarla al posto di e.NewPageIndex (basta un int32). In giro per la rete o in questo forum trovi il modo di fare il __doPostBack (la funzione JS nativa del fw) ogni tot secondi.


    [ci sono vari modi per ottenere il risultato comunque, io l'ho fatto tempo fa facendomi restituire il max(id) dalla query su DB, lo conservavo nel viewstate fra i vari postBack e poi la query stessa provvedeva a tirare fuori i successivi 15 record con l'id maggiore di quello precedentemente restituito, che di volta in volta si incrementava]

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,733
    ps: per il refresh escludi <meta http-equiv="refresh" content="XX" /> che funziona, ma non ha nessun impatto sul codice lato server

  6. #6
    il <meta http-equiv="refresh" content="XX" /> l'avevo già provato, e purtroppo constatato quello che mi hai hai scritto.

    Terrò presente l'ottimo consiglio del __doPostBack , anche se sinceramente stavo pensando di evitare il paging, ma di caricare tutti i dati in un colpo solo, e poi tramite uno script far scorrere la pagina, per stressare di meno il database. Se ho difficoltà, ritorno sul __doPostBack.

    Grazie per l'aiuto.

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,733
    infatti, ripeto, in una solution avevo come parametro di output l'ultimo ID estratto e la query successiva provvedeva ad estrarre 10 records da quell'ID in poi...

    questa è un'altra soluzione, devi solo trovare lo script per fare il submit (il setTimeOut o qualcosa del genere)
    Ultima modifica di djciko; 09-03-2020 a 13:55

  8. #8
    Ok, grazie ancora.

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,057
    Risolto?
    Pietro

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