Una delle funzioni più comuni nelle Single Page Application è quella di dover mostrare una lista di dati in una tabella. Spesso questa lista è lunga e mostrare tutti i record contemporaneamente rischia di rendere la tabella illegibile (oltre che degradare le performance del browser). Paginare i dati è la soluzione più ovvia e per implementare questa funzione in breve tempo ci vengono in aiuto i metodi Skip e Take della libreria JSLINQ che funzionano esattamente come gli omonimi metodi di LINQ in C#. Supponendo di voler mostrare i dati 10 record alla volta, dobbiamo usare il seguente codice.
var page = JSLINQ(people) .Skip(pageIndex * 10) .Take(10).ToArray();
Questo codice prende in input una lista di persone e salta i primi n record (tramite il metodo Skip) per poi prendere i successivi dieci (tramite il metodo Take). Se il valore di pageIndex è 0, allora non viene saltato alcun record e quindi vengono estratti i primi dieci. Se il valore di pageIndex è 1, vengono saltati i primi dieci record ed estratti i successivi dieci e così via.
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
C# 12: Cosa c'è di nuovo e interessante
Usare lo spread operator con i collection initializer in C#
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Usare un KeyedService di default in ASP.NET Core 8
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Copiare automaticamente le secret tra più repository di GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
I più letti di oggi
- I nuovi metodi degli array di ECMAScript 5
- Evitare (o ridurre) il repo-jacking sulle GitHub Actions
- Un custom control BoundField con dropdownlist
- .NET Core 3, C#8 and beyond
- Utilizzare long polling in HTML5 per richieste in real time
- Utilizzare le shortcut da tastiera con KeyboardAccelerator nella Universal Windows Platform
- Microsoft Security Bulletin MS05-048