Laden...

LINQ gefilterte DataSource für Grid

Erstellt von aerodur vor 14 Jahren Letzter Beitrag vor 14 Jahren 767 Views
A
aerodur Themenstarter:in
31 Beiträge seit 2009
vor 14 Jahren
LINQ gefilterte DataSource für Grid

Hallo,

ich möchte in Sliverlight meine Linq-Abfrageergebnisse an ein DataGrid binden. Leider komme ich nicht mit der Art des Rückgabetyps zurecht.

Wenn ich meine Abrage ganz "normal" ausführe...


var query = from a in db.Auftrag
                        where a.Box_ID == nBoxId
                        && a.Disposition_ID == 3181
                        select a;

... und dann als Rückgabewert List<Auftrag> habe (mache also "return query"), funktioniert es einwandfrei.

Sieht meine Abfrage allerdings so aus


var query = from a in db.Auftrag
                        where a.Box_ID == nBoxId
                        && a.Disposition_ID == 3181
                        select new
                        {
                            a.ID,
                            a.Kunden_ID
                        };

geht das ganze nicht mehr. Er hat dann ein Problem mit den Datentypen.

Mein Lösungsansatz sieht folgendermaßen aus:


var query = from a in db.Auftrag
                        where a.Box_ID == nBoxId
                        && a.Disposition_ID == 3181
                        select a;

List<Auftrag> lstAuftrag = new List<Auftrag>();
            foreach (Auftrag auftrag in query)
            {
                Auftrag aa = new Auftrag ();
                aa.Kunden_ID  = auftrag.Kunden_ID ;
                aa.ID = auftrag.ID ;
                lstAuftrag.Add(aa);
            }
            return lstAuftrag;

Dann bekomme ich zwar richtigerweise die Ergebnisse zurück die ich haben möchte, aber im Grid werden alle Zellen angezeigt (Auto Generate Colums ist an).

Meine Frage: Wie kann ich die Abfrage so zurückgeben, so dass ich sie direkt an das Grid binden kann (Rückgabetyp?)

V
327 Beiträge seit 2005
vor 14 Jahren

hallo,

var query = (from a in db.Auftrag
                        where a.Box_ID == nBoxId
                        && a.Disposition_ID == 3181
                        select new
                        {
                            a.ID,
                            a.Kunden_ID
                        }).ToList();

klappt das?

MFG Veasel