Molto spesso, in una pagina HTML abbiamo l'esigenza di ordinare gli elementi di una griglia la cui sorgente dati è un array JavaScript. In questo caso non dobbiamo invocare il server per ordinare gli elementi, ma dobbiamo ricorrere al codice JavaScript. La libreria JSLinq permette di ordinare gli oggetti grazie al metodo OrderBy. Inoltre, poiché il campo di ordinamento è dinamico, in quanto scelto dall'utente, possiamo sfruttare la natura dinamica del JavaScript per scrivere un solo metodo di ordinamento che valga per qualunque colonna come nel prossimo esempio.
function sort(list, columnName){ var sortedList = JSLINQ(list) .OrderBy(function(item){ return item[columnName]; }) .ToArray(); redrawGrid(sortdList); }
il metodo OrderBy ordina la lista mentre il nome del campo in base al quale ordinare viene specificato dal secondo parametro di input al metodo. Questo è possibile grazie al fatto che Javascript permette di accedere alle proprietà di un oggetto non solo specificandone il nome con la sintassi classica che usa il punto, ma anche con la sintassi tipica degli indexer ovvero specificando il nome tra parentesi quadre.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Code scanning e advanced security con Azure DevOps
Semplificare il deployment di siti statici con Azure Static Web App
Aggiungere interattività lato server in Blazor 8
Evitare la command injection in un workflow di GitHub
Utilizzare il trigger SQL con le Azure Function
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Disabilitare automaticamente un workflow di GitHub
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Creare moduli CSS in React
Evitare il flickering dei componenti nel prerender di Blazor 8
Usare il versioning con i controller di ASP.NET Core Web API
Hosting di componenti WebAssembly in un'applicazione Blazor static