Di solito, quando una tabella realizzata tramite il controllo GridView consente anche l'ordinamento dei dati, vogliamo anche fornire un feedback visuale all'utente della colonna in base al quale tale ordinamento avviene
Uno dei modi per raggiungere questo risultato, ad esempio, è quello di intercettare l'evento RowDataBound e utilizzarlo per impostare una particolare classe CSS all'intestazione della colonna, in modo che, ad esempio, esso mostri un'icona contenente una freccia orientata nella direzione dell'ordinamento stesso.
La nuova versione della GridView presente in ASP.NET 4.0 rende tutto molto più semplice grazie ad alcune proprietà dal nome estremamente eloquente:
- SortedAscendingHeaderStyle-CssClass e SortedDescendingHeaderStyle-CssClass consentono di preimpostare le classi di CSS da utilizzare sull'intestazione della colonna ordinata, rispettivamente a seconda che esso avvenga in maniera ascendente o discendente;
- SortedAscendingCellStyle-CssClass e SortedDescendingCellStyle-CssClass svolgono la medesima funzione, ma relativamente alle celle appartenenti alla colonna stessa.
- Si tratta di una funzionalità estremamente comoda e concisa. Basta infatti scrivere del markup simile al seguente
<asp:GridView runat="server" AllowSorting="true" AllowPaging="true" id="theGrid" DataSourceID="dataSource" SortedAscendingHeaderStyle-CssClass="h_ascending" SortedDescendingHeaderStyle-CssClass="h_descending" SortedAscendingCellStyle-CssClass="c_sorted" SortedDescendingCellStyle-CssClass="c_sorted" />
affinché si ottenga un risultato simile a quello indicato in figura.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Usare una container image come runner di GitHub Actions
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Come migrare da una form non tipizzata a una form tipizzata in Angular
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Gestire i null nelle reactive form tipizzate di Angular
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Utilizzare le collection expression in C#
Eseguire una query su SQL Azure tramite un workflow di GitHub
Utilizzare i primary constructor di C# per inizializzare le proprietà
Assegnare un valore di default a un parametro di una lambda in C#
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary