DataView mit weniger Spalten als die DataTable

20/04/2009 - 23:14 von Frank Bach | Report spam
Hallo NG,

wie kann ich aus einer vorhandenen DataTable ein DataView erzeugen das nur
manche der Spalten enthàlt?
Und diese Spalten auch noch in einer anderen Reihenfolge.

Ich will eine erneute Datenbankabfrage aus Performancegründen vermeiden
(WebService ...)


Danke!

Frank
 

Lesen sie die antworten

#1 Peter Fleischer
21/04/2009 - 08:17 | Warnen spam
"Frank Bach" schrieb im Newsbeitrag
news:

wie kann ich aus einer vorhandenen DataTable ein DataView erzeugen das nur
manche der Spalten enthàlt?
Und diese Spalten auch noch in einer anderen Reihenfolge.

Ich will eine erneute Datenbankabfrage aus Performancegründen vermeiden
(WebService ...)



Hi Frank,
mit einem DataView-Objekt kannst du nicht die Spaltenzahl und
Ordinalposition der Spalten beeinflussen. Die DataView-Klasse organisiert
lediglich einen auf die DataTable übergestülpten Index für den Zugriff auf
die DataRows. Der Index kann im Umfang (Filter) und in der
Zugriffsreihenfolge (Sort) beeinflusst werden. Bereitgestellt werden die
Daten entsprechend Columns-Auflistung des dataTable-Objektes.

Wenn du die Datenmenge in der Spaltenzahl einschrànken willst, dann brauchst
du nur die Spalten aus der Columns-Auflistung entfernen. Dort kannst du auch
die Ordinalposition àndern. Nachteilig ist aber, dass danach die Information
aus den entfernten Spalten für weitere Verarbeitungsschritte nicht mehr zur
verfügung steht.

Alternativ wàre beim Einsatz des Frameworks 3.5 die Anwendung einer LinQ auf
das DataSet möglich. Damit kann man eine eigene Klasse für die Erzeugung der
Listenobjekte n utzen, die dann serialisiert über SOAP bereitgestellt wird.

Viele Grüsse
Peter

Ähnliche fragen