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
Evitare la script injection nelle GitHub Actions
Gestire undefined e partial nelle reactive forms di Angular
Utilizzare gli snapshot con Azure File shares
Miglioramenti nell'accessibilità con Angular CDK
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Load test di ASP.NET Core con k6
Gestire i null nelle reactive form tipizzate di Angular
Eseguire una query su SQL Azure tramite un workflow di GitHub
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Limitare le richieste lato server con l'interactive routing di Blazor 8
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Eseguire query manipolando liste di tipi semplici con Entity Framework Core