[WPF] DataGrid Tips & Tricks: Custom Sort

Come riportato nella pagina del progetto Codeplex che fa da portale per il WPF Toolkit e le WPF Futures releases, se si usa una DataGrid con molte righe, il sort potrebbe essere un po' troppo lentino. Il motivo dipende dal fatto che il componente DataGrid utilizza reflection per capire cosa contiene la colonna e come deve comparare i suoi elementi per capire chi viene prima e chi dopo e quindi poter ordinare le righe di conseguenza.

Se abbiamo molte righe, possiamo impostare la proprietà CustomSort della DataGrid ad utilizzare una nostra classe custom di tipo IComparer, come descritto da Jossef Goldberg nel suo post.

image

Il tutto può essere molto interessante per chi al momento (come me) desidera usare il WPF DataGrid di Microsoft, anche se questa e altre amenità del genere mostrano come sia poco spinta l'implementazione di un componente essenziale. Sembra quasi che Microsoft si sia decisa controvoglia a realizzarlo, perchè non può più sottrarsi alle richieste, ma che al contempo non voglia danneggiare chi (e tutti li conosciamo) sviluppa componenti per WinForm / WPF.

Mi piacerebbe leggere un bel post comparativo tra Exceed, Infragistic e Telerik ma al momento non ho trovato niente di valido in rete.

posted @ giovedì 4 dicembre 2008 06:00

Print

Comments on this entry:

# re: [WPF] DataGrid Tips & Tricks: Custom Sort

Left by Anonimo at 04/12/2008 15:19
Gravatar
Esiste un intero ecosistema basato sulla creazione/vendita dei componenti software e MS non penso voglia distruggerlo (l'Antitrust impedisce una cosa del genere).

Per quanto riguarda il DataGrid questa prima versione del controllo non eccelle in supporto a design-time e facilità d'uso.
Secondo me vedremo un controllo comparabile a quello Windows Forms solamente col Fx4.0/5.0, per il momento non rimane che affidarci a componenti di, come gli chiamano forse per farci diffidare della loro qualità, terze parti.
Comments have been closed on this topic.
«dicembre»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234