Hallo Leute anbei eine detaillierte Problembeschreibung an Hand eines Beispiels: Ich habe eine Klasse "Fahrzeug". Auf Grund von externen Beschränkungen sollen im DataGridView nur einige (unterschiedliche) Eigenschaften der Klasse im DataGridView angezeigt werden.
List<Vehicle> vehicles; var firstSelection = (From v in vehicles select new {v.Name, v.Model}).ToList()
var secondSelection = (From v in vehicles select new {v.Name, v.Price}).ToList()
Je nach Businesslogik wird die erste oder zweite collection and das DataGridView gebunden:
So weit so gut. Jedoch lässt sich das gebundene Resultat nicht automatisch im DataGridView sortieren. Weder List<T> noch BindingList<T> implementieren die Sortiermöglichkeiten.
Alle Lösungen die Google bisher ausgespuckt hat, sehen meist so aus: es wird eine generische sortierbare Liste erzeugt, die die benötigen Methoden zur Sortierung implementiert.
public class SortableBindgiList<T>: BindingList<T> { protected override void ApplySortCore(PropertyDescriptor prop,ListSortDirection direction) {...} }
Jedoch habe ich bei den Listen jeweils einen unbestimmten(variablen) Typ, so dass ich die Lösung in der Form nicht anwenden kann. Hat jemand eine Idee wie man sich die automatische Sortierung des DataGridViews trotzdem zu Nutze machen kann (ohne diese selbst zu implementieren)? Danke
Hi Danke für die Antwort, aber leider hilft mir diese nicht weiter. Beide Lösungen arbeiten hier wieder mit streng typisierten BindingListen. Ich jedoch habe anonyme DatenTypen. Das ist ja gerade das Problem.
– Gast 25.02.2011
wow. sieht vielversprechend aus der ansatz. werd das gleich mal testen. Danke
– Gast 28.02.2011
Stelle deine Databinding-Frage jetzt!
Registriere dich
Wenn Du deinen Benutzernamen in Besitz nehmen möchtest, solltest Du dich registrieren:
aber leider hilft mir diese nicht weiter.
Beide Lösungen arbeiten hier wieder mit streng typisierten BindingListen. Ich jedoch habe anonyme DatenTypen. Das ist ja gerade das Problem.