Hallo,
ich stehe momentan ein wenig auf der Leitung, die wahrscheinlich gerade ein wenig zu lang ist. Folgendes Problem:
Ich habe eine Anwendung, die auf einer MySQL-DB basiert. Die DB enthält zwei Tabellen: Kunden und Stellen. "Kunden" ist die übergeordnete Tabelle, "Stellen" enthält den Primärschlüssel aus Kunden als Fremdschlüssel. Löschweiterleitung ist eingerichtet. Das sieht so aus:
Die Form enthält einen Splitcontainer, im linken Panel liegt das DGV für Kunden, im rechten Panel das DGV für Panel, darunter befindet sich noch ein Detailview.
Das Ganze basiert auf dem, was ErfinderdesRades hier zusammengestellt und als Video veröffentlicht hat und funktioniert einwandfrei.
Ich kann im linken Grid die Kunden auswählen und bekomme im rechten Grid die dazugehörigen Stellen angezeigt. Neue Kunden und neue Stellen lassen sich hinzufügen, der Fremdschlüssel aus Kunden wird korrekt in Stellen eingetragen. Bereits angelegte Einträge lassen sich bearbeiten. Abspeichen geht ebenfalls, ich habe auf den Bindingnavigator verzichtet und das alles mit einem Menustrip geklappt.
Ich brauche zusätzlich noch die Möglichkeit, nach einer Textbox filtern zu können. Genauer gesagt, in der rechten Spalte sollen die Stellen angezeigt werden, die dem Filter entsprechen. Das habe ich über bindingsource.Filter gelöst und das funktioniert auch.
Aber: es werden immer nur die Stellen angezeigt, die zu dem Kunden gehören, der im linken Grid ausgewählt ist. Ich brauche aber eine Filterung über alle Einträge in der Stellentabelle unabhängig von der Auswahl in der Kundentabelle.
Das letzte, was ich versucht habe, war, vor der Übergabe des Filters an die Bindingsource die Selektionen in den beiden Datagrids aufzuheben, aber das half auch nicht.
Mein Code im Filter sieht so aus:
Bin für jeden Hinweis dankbar, der mich auf die richtige Spur bringt, weil ich mich offensichtlich total verrannt habe.
Danke, Volkmar
ich stehe momentan ein wenig auf der Leitung, die wahrscheinlich gerade ein wenig zu lang ist. Folgendes Problem:
Ich habe eine Anwendung, die auf einer MySQL-DB basiert. Die DB enthält zwei Tabellen: Kunden und Stellen. "Kunden" ist die übergeordnete Tabelle, "Stellen" enthält den Primärschlüssel aus Kunden als Fremdschlüssel. Löschweiterleitung ist eingerichtet. Das sieht so aus:
Die Form enthält einen Splitcontainer, im linken Panel liegt das DGV für Kunden, im rechten Panel das DGV für Panel, darunter befindet sich noch ein Detailview.
Das Ganze basiert auf dem, was ErfinderdesRades hier zusammengestellt und als Video veröffentlicht hat und funktioniert einwandfrei.
Ich kann im linken Grid die Kunden auswählen und bekomme im rechten Grid die dazugehörigen Stellen angezeigt. Neue Kunden und neue Stellen lassen sich hinzufügen, der Fremdschlüssel aus Kunden wird korrekt in Stellen eingetragen. Bereits angelegte Einträge lassen sich bearbeiten. Abspeichen geht ebenfalls, ich habe auf den Bindingnavigator verzichtet und das alles mit einem Menustrip geklappt.
Ich brauche zusätzlich noch die Möglichkeit, nach einer Textbox filtern zu können. Genauer gesagt, in der rechten Spalte sollen die Stellen angezeigt werden, die dem Filter entsprechen. Das habe ich über bindingsource.Filter gelöst und das funktioniert auch.
Aber: es werden immer nur die Stellen angezeigt, die zu dem Kunden gehören, der im linken Grid ausgewählt ist. Ich brauche aber eine Filterung über alle Einträge in der Stellentabelle unabhängig von der Auswahl in der Kundentabelle.
Das letzte, was ich versucht habe, war, vor der Übergabe des Filters an die Bindingsource die Selektionen in den beiden Datagrids aufzuheben, aber das half auch nicht.
Mein Code im Filter sieht so aus:
VB.NET-Quellcode
- Private Sub btnRefnrSuche_Click(sender As Object, e As EventArgs) Handles btnRefnrSuche.Click
- Me.Oa_kundeDataGridView.ClearSelection()
- Me.Oa_stelleDataGridView.ClearSelection()
- Dim ReferenznummerSuche As String = CStr(txtReferenznummer.Text)
- Me.Oa_stelleBindingSource.Filter = "oa_referenznummer = '" & ReferenznummerSuche & "'"
- End Sub
Bin für jeden Hinweis dankbar, der mich auf die richtige Spur bringt, weil ich mich offensichtlich total verrannt habe.
Danke, Volkmar