Perchè abituato mia colonna di ordinamento in un datagrid WinForms .NET?
-
16-09-2019 - |
Domanda
Ho un datagrid WinForms .NET la cui fonte di dati è un List<cLineItem>
chiamato linee. cLineItem è molto semplice classe con immobili come unità (int), descrizione (stringa) e quantità di unità (float).
Nel codice, io popolo l'elenco delle linee e quindi impostare l'origine dati:
dataGridView1.DataSource = lines;
Questa popola correttamente la griglia, tuttavia, anche se ciascuna delle colonne della griglia sono impostate ordinabile, quando si sceglie una colonna, doesnt ordinare le righe.
Soluzione
non lo fa lavoro di default , a meno che la vostra fonte esplicitamente supporta l'ordinamento. È necessario per avvolgere la vostra fonte di dati in un SortableBindingList . È possibile utilizzare i file PropertyComparer.cs e SortableBindingList.cs da questo file zip e usarlo in questo modo:
dataGridView1.DataSource = new SortableBindingList<cLineItem>(lines);