BindingSource mit Function(x) funktioniert nicht

30/08/2009 - 11:13 von Harald Bacik | Report spam
Hallo NG

Ich habe ein Problem, dass ich nicht ganz durchschaue...
Folgendes: Ich binde per LinQ2SQL Daten an ein BindingSource (Beim
Zeigen im Grid funktioniert das wunderbar...)
Jetzt möchte ich aus einer Childtabelle genau einen Datensatz filtern &
dachte, ich mache das wie folgt:

Dim myKunden As Voptneucontext.Kundenstamm DirectCast(bsKundenstamm.Current, Kundenstamm)
Dim savedAuftrag As Voptneucontext.auftrag = _
myKunden.auftrags.Where(Function(x As
Voptneucontext.auftrag) x.Id = Me.grdÜbersicht.GetValue("id"))

Doch beim 2. Befehel bekomme ich folgende Fehlermeldung:
Das Objekt des Typs
"WhereEnumerableIterator`1[VOPT.Voptneucontext.auftrag]" kann nicht in
Typ "VOPT.Voptneucontext.auftrag" umgewandelt werden.

Ich verstehe diese Fehlermeldung überhaupt nicht... Wisst Ihr vielleicht
woran das liegt? - Bzw. habt Ihr einen anderen Tipp?

DANKE schon im Voraus
 

Lesen sie die antworten

#1 Armin Zingler
30/08/2009 - 11:57 | Warnen spam
Harald Bacik schrieb:
Hallo NG

Ich habe ein Problem, dass ich nicht ganz durchschaue...
Folgendes: Ich binde per LinQ2SQL Daten an ein BindingSource (Beim
Zeigen im Grid funktioniert das wunderbar...)
Jetzt möchte ich aus einer Childtabelle genau einen Datensatz filtern &
dachte, ich mache das wie folgt:

Dim myKunden As Voptneucontext.Kundenstamm > DirectCast(bsKundenstamm.Current, Kundenstamm)
Dim savedAuftrag As Voptneucontext.auftrag = _
myKunden.auftrags.Where(Function(x As
Voptneucontext.auftrag) x.Id = Me.grdÜbersicht.GetValue("id"))

Doch beim 2. Befehel bekomme ich folgende Fehlermeldung:
Das Objekt des Typs
"WhereEnumerableIterator`1[VOPT.Voptneucontext.auftrag]" kann nicht in
Typ "VOPT.Voptneucontext.auftrag" umgewandelt werden.

Ich verstehe diese Fehlermeldung überhaupt nicht... Wisst Ihr vielleicht
woran das liegt? - Bzw. habt Ihr einen anderen Tipp?

DANKE schon im Voraus




Ich rate mal: Where liefert eine IEnumerable(Of)-Objekt zurück. Es
können theoretisch 0-n Sàtze zurückgeliefert werden. Wenn du weisst,
dass es immer genau ein Satz ist, dann nimmst du einfach den ersten der
Auflistung: (.First)


Dim savedAuftrag As Voptneucontext.auftrag = _
myKunden.auftrags.Where(Function(x As
Voptneucontext.auftrag) x.Id = Me.grdÜbersicht.GetValue("id")).First



Armin

Ähnliche fragen