PDA

View Full Version : [Asp .NET]Problema con il paging su Grid View e Detail View


Samb1985
18-01-2010, 17:02
Ho delle Detail View e Grid View, che vengono riempite con i valori di un database tramite degli AccesDataSource. Tutte usano un paging 10, e una serie di controlli che permettono di fare delle ricerche sui dati. Per ogni ricerca vado a modificare il SelectComand dell'AccessDataSource con la nuova query da eseguire.

Il problema è che se ottengo un risultato su più pagine, quando clicco sulla successiva pagina, viene riaggiornato l'AccessDataSource come era originariamente perdendo i risultati della ricerca. Come è possibile evitare questa cosa ? Perchè se si cambia pagina viene riaggiornato l'AccessDataSource ?

ybla82
19-01-2010, 12:57
Questo succede perchè probabilmente nel Page_load c'è qualcosa che non funziona in maniera corretta.

Come idea base ti direi di far così:

-nel Page_load:

if(!IsPostback)
CaricaDataSource(ListaDati)


-nell'evento del filtro:

ListaDati = Eseguifiltro();
CaricaDataSource(ListaDati)


-nell'evento cambia pagina:

MiaGriglia.SelectedPageIndex = currentIndex.



Ti chiedo scusa per questa sottospecie di metalinguaggio che ho usato.

In linea teorica comunque questo è quello che ti dovrebbe risolvere un po' di problemi.

Se ci sono problemi fammi sapere.
Ciao

Samb1985
19-01-2010, 14:51
Ho risolto utilizzando una variabile statica select in cui vado a memorizzare l'ultimo SelectCommand utilizzato sull'AccessDataSource. Cosi quando cambio pagina riaggiorno il SelectCommand con la variabile select. Sembra funzionare.