Hallo zusammen,
Ich habe eine DataTable mit ca. 40 Spalten und ca. 40.000 Zeilen, die an ein DataGridView gekoppelt ist. Über Textfelder kann man in der Liste nahezu nach Belieben filtern, was auch sehr performant funktioniert. Der Benutzer kann Werte filtern oder auch einzelne Spalten ausblenden bzw. wieder einblenden.
Ich möchte nun erreichen, dass wenn eine Benutzer bestimmte Spalten ausblendet nur noch die DISTINCT Werte der DataTable abgezeigt werden. Dazu könnte man DataTable.DefaultView.ToTable(/Distinct/ true, cols[]) nehmen. Wenn relativ wenig gefilterte Daten vorhanden sind (ca. 500 Zeilen) geht auch wunderbar schnell. Werden es mehr dauert es mehrere Sekunden (5-10), bis die DataTable gefiltert ist und der Benutzer weiterarbeiten kann. In der Zeit ist der UI Thread komplett blockiert. Ich suche daher eine schnellere Lösung. Hat jemand eine Idee?
Hallo zusammen,
wie das halt so ist. Man sucht tagelang und posted dann - ja und dann findet man die Lösung....
http://www.biggle.de/blog/doppelte-eintraege-aus-einer-datatable-entfernen-linqextension
hat ein sehr gutes Snippet dafür