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
Aggiungere interattività lato server in Blazor 8
Recuperare App Service cancellati su Azure
Generare velocemente pagine CRUD in Blazor con QuickGrid
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Disabilitare automaticamente un workflow di GitHub (parte 2)
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
C# 12: Cosa c'è di nuovo e interessante
Paginare i risultati con QuickGrid in Blazor
Limitare le richieste lato server con l'interactive routing di Blazor 8
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API