Laden...

Filtern von DataGrid - Entity Framework

Erstellt von Da_Flo vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.080 Views
D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 13 Jahren
Filtern von DataGrid - Entity Framework

Hallo!

Ich fülle mein DataGrid so:


DGV_Beleg.ItemsSource = entities.Rechnung;
DGV_Position.ItemsSource = entities.Rechnungspositionen;

Also wenn ich in der einen Tabelle(Rechnungen) eine Zeile Auswähle möchte ich das in der anderen Tabelle die Daten so gefilter werden das ich nur die zur Rechnung gehörigen Rechnungspositionen sehe.

Früher hab ich das einfach mit dem RowFilter der DataView gemacht, diese gibt es
jetzt allerdings nicht, da ich die Daten direkt zuweise.

ich hätte es folgendermasen probiert:
Allerdings lässt die performance sehr zu wünschen übrig.


 Rechnung r = (Rechnung)DGV_Beleg.CurrentItem;
                if (r != null)
                {
                    DGV_Position.ItemsSource = from pos in entities.Rechnungspositionen
                                               where pos.Datum == r.Datum && pos.Rechnungsnr == r.Nr
                                               select pos;
                }

G
538 Beiträge seit 2008
vor 13 Jahren

Sofern deine Rechnungen und Rechnungspositionen über eine Navigationseigenschaft verfügen könntest du selbige nutzen um die entsprechenden Daten zu laden, etwa:


Rechnung r = new Rechnung();
DGV_Pos.DataSource = r.Rechnungspositionen;

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 13 Jahren

Danke so gehts!

jetzt hätt ich aber noch eine frage

sagen wir ich habe eine Textbox, und ich möchte meine Daten je nach dem was in der Textbox steht filtern z.b nach Rechnungsnr

wie mach ich das?

G
538 Beiträge seit 2008
vor 13 Jahren

Also wenn's ein WPF-Datagrid ist - da gibt es nach wie vor Filter und funktionieren auch mit Gebundenen Daten.

Die Filter kannst du bei

 dgv.Items.Filter 

finden.

Wie man selbige richtig Geschickt einsetzt weiß ich selbst nicht, aber es gibt bestimmt Leute, die das schon mal getan haben.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 13 Jahren

ok Danke!

bei mir ist leider

DGV_Kontakte.Items.CanFilter;

false 😕

von was hängt das ab ob die Auflistung Filterbar ist?