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
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Recuperare App Service cancellati su Azure
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare Azure Cosmos DB con i vettori
Managed deployment strategy in Azure DevOps
Configurare lo startup di applicazioni server e client con .NET Aspire
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Creare una libreria CSS universale: Cards
Estrarre dati randomici da una lista di oggetti in C#
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Documentare i servizi REST con Swagger e OpenAPI con .NET 9