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
Generare token per autenicarsi sulle API di GitHub
Utilizzare Model as a Service su Microsoft Azure
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Usare le variabili per personalizzare gli stili CSS
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Usare un KeyedService di default in ASP.NET Core 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Code scanning e advanced security con Azure DevOps
Visualizzare le change sul plan di Terraform tramite le GitHub Actions