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;
}
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)
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?
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)
ok Danke!
bei mir ist leider
DGV_Kontakte.Items.CanFilter;
false 😕
von was hängt das ab ob die Auflistung Filterbar ist?