Bloccare le colonne a sinistra di una GridView

 
18 nov 2013

ASP.NET ci mette a disposizione un potentissimo controllo denominato GridView per presentare i nostri dati (presumibilmente provenienti da un database) in formato tabulare.

Tuttavia, quando abbiamo a che fare con molte colonne è probabile che le prime di esse a sinistra contengano essenziali informazioni di riferimento per il resto della riga, col risultato che, scrollando verso destra (qualora la nostra griglia si più large della viewport che abbiamo a disposizione), esse spariranno, complicando la vita al nostro end user.

Vi segnalo quindi questo ottimo script jQuery, che, con un tocco di "magia", ci permette di ottenere una funzione analoga a quella che in Excel permette di "freezare" righe o colonne.

http://gridviewscroll.aspcity.idv.tw/

Gli esempi presentati sono chiari e autoesplicativi. Nessuna modifica sarà richiesta alla nostra GridView, che manterrà tutte le sue funzionalità. Il componente richiede referenza sia a jQuery (ovviamente!) che a ai componenti jQuery UI.

Attenzione agli stili e ai postback!!

Il componente darà qualche problema grafico, disallineando gli header della parte freezata, se i vostri CSS relativi alla GridView contengono padding o formattazioni particolari. Per giungere a un risultato soddisfacente sono partito eliminando tutti gli stili e ricostruendo man mano il risultato desiderato (ad esempio non possiamo applicare brutalmente classi e sottoclassi che un framework come Bootstrap ci offre per stilizzare le nostre tabelle).
A livello di postback, fate attenzione che gli eventuali controlli inseriti negli header delle colonne cambieranno nome nella parte freezata e andranno referenziati differentemente a livello di codice.

In ogni caso davvero un enorme aiuto!

© Gabriele Pala, 2012-2014. All rights reserved. P.IVA 01137470314 - C.F. PLAGRL77S16L424T | Cell: 320 3334704 | Mail: info@fvg-informatica.it | Strada delle Acacie, 5/A - Staranzano (GO) | Privacy & Cookies
Questo sito non utilizza cookie di profilazione propri. Sono invece utilizzati cookie tecnici e di terze parti per fini operativi, statistici e pubblicitari. Per sapere a cosa servono i cookie e per impostare le proprie preferenze visitare la pagina Privacy & Cookies. Continuando la navigazione o chiudendo questo avviso, acconsenti all'uso dei cookie e ai termini riportati alla pagina Privacy Policy.
OK