Laden...

LinQ auf DataView-Results

Erstellt von realProg vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.433 Views
R
realProg Themenstarter:in
95 Beiträge seit 2010
vor 13 Jahren
LinQ auf DataView-Results

Hallo,
gibt es eine Möglichkeit mit linq auf die resultate eines Dataviews zuzugreifen?`

dv.Table liefert ja nur sourcetable.

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo realProg,

hast du dir mal Creating a DataView Object (LINQ to DataSet) angeschaut? Das sollte dir weiterhelfen.

zero_x

R
realProg Themenstarter:in
95 Beiträge seit 2010
vor 13 Jahren

naja mir gehts darum, dass ich 20 checkboxen habe und daraus einen rowfilter(string) zur laufzeit erzeuge.
Ich erzeuge mir ein Dataview (source: typisierte Datatable) und filtere die ansicht im Datagridview dementsprechend.
nun möchte ich auf die resultierenden Daten (vom Dataview) noch eine Auswertung ausführen (bestimmen der Anzahl verschiedenen Kunden.

ich möchte daher linq auf diese resultate der dataview anzeigen.

EDIT:
bzw. kann ich eventuell den rowfilter als where bedingung in linq einbauen?

F
10.010 Beiträge seit 2004
vor 13 Jahren
  1. Kann man auch locker über den DV iterieren und ihn per Linq benutzen.
  2. Mal die Hilfe zu DataView und dessen ToTable funktion angesehen?
R
realProg Themenstarter:in
95 Beiträge seit 2010
vor 13 Jahren

hallo,

dataPhasen ist derzeit eine DataTable (typisiert)
mit diesem statement möchte ich alle tupel von kundeID und FlaecheID herausfiltern (distinct).
Dadurch kann ich erreichen, dass ich Bestimmen kann wieviele verschiedene Flächen es wirklich gibt.
Davon bestimme ich dann die Anzahl der Datensätze und gib diesen count aus.

Das klappt alles soweit so gut, aber eben auf allen Daten der DataTable dataPhasen.
Mein DataView selektiert aber dynamisch Datensätze der DataTable (zur Laufzeit). RowFilter wird zusammengestopselt. Daher möchte ich auch nur auf diesen selektierten Daten arbeiten, was aber mit dem unten stehenden code nicht funktioniert.

      
var result = (from myRow in dataPhasen
                  select new { myRow.KundeID, myRow.FlaecheID }).Distinct();

txtRes.Text = result.Count().ToString();

auch versucht habe ich folgendes, funktionierte aber nicht

      
var result = (from myRow in dataview1.ToTable()
                  select new { myRow.KundeID, myRow.FlaecheID }).Distinct();

txtRes.Text = result.Count().ToString();

Also, entweder es gibt eine Möglichkeit dass ich auf der DataTable mit linq selektiere indem ich auch den rowfilter der dataview verwende (weiß aber nicht wie), oder ich arbeite auf dne selektierten Daten des Dataviews mit linq

F
10.010 Beiträge seit 2004
vor 13 Jahren

funktionierte aber nicht

Ist keine Beschreibung.

X
1.177 Beiträge seit 2006
vor 13 Jahren

huhu,

oder anders: Linq ist nur eine Hilfestellung. Man kann alles was Linq macht auch "per Hand". Also sieh Dir mal an, was FZelle gesagt hat, überlegt wie man das machen kann; und dann kann man auch mit Linq eine "Abkürung" für den Code suchen/finden.

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.