Ciclare elementi datagrid con paginazione

lunedì 03 novembre 2008 - 14.05

stuzzo Profilo | Junior Member

Ciao a tutti!
Vorrei chiedervi una cosa che non mi è chiara. Sto utilizzando un datagrid che è formato da varie colonne tra cui una di tipo checkbox. Il datagrid è settato che deve gestire la paginazione di 10 elementi per volta e fin qui tutto ok.
Il dubbio sorge riguardo allo scorrimento degli elementi, in quanto nel momento che premo il tasto di conferma, devo controllare quali elementi siano selezionati, ma utilizzando un normale ciclo foreach ho notato che mi cicla solo e soltanto gli elementi presenti nella pagina corrente.
C'è un modo per controllarli tutti, oppure devo gestire questa cosa, p.e. ogni volta che viene cambiata pagina?
Alfredo Aiello

rossimarko Profilo | Guru

Ciao,

la griglia ti consente di ciclare solo gli elementi visualizzati, quindi se usi la paginazione dovrai salvare i dati ad ogni cambio pagina, altrimenti li perdi.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

stuzzo Profilo | Junior Member

>Ciao,
Ciao Marco

>la griglia ti consente di ciclare solo gli elementi visualizzati,
>quindi se usi la paginazione dovrai salvare i dati ad ogni cambio
>pagina, altrimenti li perdi.

Ah, quindi non è che risolvo questo problema con un gridview? o vale per tutti i tipo di griglie?

Alfredo Aiello

rossimarko Profilo | Guru

No, il comportamento è analogo..

Non essendo visualizzate le righe al di fuori della paginazione non potresti accedere ai relativi controlli, quindi nella collection troverai solo le righe visualizzate.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

stuzzo Profilo | Junior Member

Ho risolto! Per distinguere i 2 casi basta indirizzarsi all'evento ItemDataBound che avviene solo quando i dati vengono "bindati" nel datagrid, cioè quando si entra nella pagina.!!!
/*
Ciao,
scusa una cosa...per il cambio di pagina del datagrid viene generato un PostBack , ma ho notato che sia quando entro nella pagina, sia quando ne sto uscendo per invocato l'evento ItemCreated....c'è un modo per sapere se mi trovo nella situazione in cui sto entrando nella pagina o ne sto uscendo? Tornando sempre al discorso del datagrid con paginazione.

Grazie mille!

P.S. Il problema sorge di gestire la spunta delle checkbox che sono sul datagrid.....e precisamente nel caso in cui io seleziono una riga, mi salvo l'indice, cambio pagina, seleziono un altro indice, adesso nel momento in cui torno nella pagina precedente con l'evento ItemCreated vado a vedere se precedentemente l'indice è già stato selezionato, se si metto la spunta...e fin qui nessun problema...adesso tolgo la spunta e ricambio pagina...in teoria adesso devo togliere dagli indici salvati quella riga, ho creato un metodo che fa questo, ma purtroppo viene prima di nuovo chiamato l'ItemCreated, che mi manda a far benedire tutto, che rimette la spunta in quanto non ancora riesco ad invocare il metodo che mi permette di aggiornare gli indici e quindi in questo di toglierlo dai selezionati.
Alfredo Aiello
*/

rossimarko Profilo | Guru

Ciao,

invece che l'itemcreated prova ad usare ItemDataBound che viene richiamato solo quando popoli la griglia, e quindi quando passi ad una nuova pagina.
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5