Nei precedenti script abbiamo visto come impostare alcuni aspetti del LongListSelector. Oggi vedremo come organizzare la fonte dati per poter visualizzare e utilizzare la jumplist
Per prima cosa, è necessario che la nostra fonte dati non sia "flat", ma organizzata a gruppi. Per fare questo come prima cosa è necessario creare una classe che definisca un gruppo.
public class Group<T> : List<T> { public Group(string name, IEnumerable<T> items): base(items) { this.Title = name; } public string Title { get; set; } }
La nostra classe Group<T> estende il tipo List<T>, aggiungendovi la proprietà Title del tipo string, che ci servirà come label del gruppo.
Infine, per creare una lista di gruppi è sufficiente definire una istanza di List
const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private static List<Group<City>> GetItemGroups(IEnumerable<City> itemList) { var _groupList = new List<Group<City>>(); foreach (var letter in letters) { var _group = new Group<City>(letter.ToString(), itemList.Where(c=> c.Name.StartsWith(letter.ToString())).OrderBy(c=> c.Name)); _groupList.Add(_group); } }
Nel frammento di codice precedente creiamo una collezione di gruppi in ordine alfabetico.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire le GitHub Actions offline
Generare la software bill of material (SBOM) in GitHub
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Miglioramenti nelle performance di Angular 16
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare i primary constructor in C#
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Triggerare una pipeline su un altro repository di Azure DevOps
Effettuare il binding di date in Blazor
Modificare i metadati nell'head dell'HTML di una Blazor Web App