Wenn Sie bereits im Voraus wissen, wie viele Spalten Ihre neue DataTable haben würde, können Sie Folgendes tun:
%Vor%Versuchen Sie Access DataTable einfachste Möglichkeit , die Ihnen helfen kann für die perfekte Idee für den Zugriff auf DataTable, DataSet mit Linq ...
Betrachten Sie folgendes Beispiel: Angenommen, wir haben DataTable wie unten.
%Vor%Hier ist der Code für DatTable, hier nehmen wir an, dass einige Daten in dieser DataTable verfügbar sind, und wir müssen die Grid-Ansicht bestimmter Daten durch Verarbeitung einiger Daten, wie unten gezeigt, binden.
Bereich | Menge | Atem | Länge | Preis = Menge * Atem * Länge
Dann müssen wir die folgende Abfrage auslösen, die uns genau das Ergebnis liefert, das wir wollen.
%Vor%Wir müssen diese Datenvariable nur als Datenquelle zuweisen.
Mit dieser einfachen Linq-Abfrage können wir alle unsere akzeptieren, und wir können auch alle anderen LINQ-Abfragen mit diesem ausführen ...
LINQ ist sehr effektiv und einfach in Listen anstelle von DataTable zu verwenden. Ich kann sehen, dass die obigen Antworten eine Schleife (für, foreach) haben, die ich nicht bevorzugen werde.
Daher ist es am besten, wenn Sie eine passende Spalte aus einer DataTable auswählen. Verwenden Sie einfach eine DataView, um die Spalte zu filtern und nach Bedarf zu verwenden.
Finden Sie hier, wie Sie dies tun.
%Vor%Jetzt enthält die DataTable dtTableWithOneColumn nur eine Spalte (ColumnA).
Ihre SELECT-Anweisung gibt eine Sequenz vom anonymen Typ und nicht eine Sequenz von DataRows zurück. CopyToDataTable () ist nur für IEnumerable<T>
verfügbar, wobei T
für DataRow
steht oder von diesem abgeleitet wird. Sie können r
das Zeilenobjekt auswählen, um CopyToDataTable darauf aufzurufen.
Sie können auch CopyToDataTable implementieren , wenn der generische Typ T keine DataRow ist.