Wie [group by] die datatable und das Ergebnis in einer anderen datatable?
Habe ich Folgendes datatable
:
id name name_in
3 sys sys
5 con con_r
5 con con_s
5 con con_g
Ich möchte die folgende Datentabelle aus es :
3 sys
5 con
Wie dies zu tun?
Ich den folgenden
var groups = Process_dt.AsEnumerable()
.GroupBy(r => r.Field<Int16>("id"));
aber, wie das Ergebnis in einem anderen datatable
.
- hmmmmm,Die drei Antworten, die mit mir arbeiten , das ist das beste 🙂
- aus performance-Sicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
GroupBy werden Sie wieder ein IGrouping Sammlung, die Sie Durchlaufen folgende Weise:
Cannot apply indexing with [] to an expression of type 'System.Linq.IGrouping<short,System.Data.DataRow>'
Haben Sie versucht, die Distinct() Funktion von LINQ? Code-Beispiel:
var
Könnte man erstellen Sie Ihre eigenen CopyToDataTable, dass nimmt jede Art von IEnumerable(nicht nur
DataRow
)und liefert eine neueDataTable
:Hier ist eine Umsetzung (mit Hilfe von MSDN):
Nun können Sie diese Erweiterungen:
Voilà! Jetzt
CopyToDataTable
arbeitet mit einer LINQ-Abfrage an 🙂CopyToDataTable
macht es automatisch.