Hallo,
ich möchte einen DataTable mit mehreren Filtern versehen (bis jetzt sind es 6) soweit so gut. (Filtersubjekt steht in ComboBox und TextBox)
Nun wollte ich natürlich die Verknpüfung sauber hinbekommen..bis jetzt bin ich mir aber nicht sicher welches Event dafür am besten geeignet ist.
Derzeit steuer ich auf eine TextBox die mit den Filtern verbunden ist, dachte aber ich frag mal ob es dafür auch bessere Alternativen gibt, um alle miteinander zu verbinden ohne viele aufwendige IF Funktionen zu verwenden.
Sollte das jedoch der einzige Weg sein, freue mich natürlich auch über die Bestätigung dazu.
Spoiler anzeigen
Freue mich über Feedback.
ich möchte einen DataTable mit mehreren Filtern versehen (bis jetzt sind es 6) soweit so gut. (Filtersubjekt steht in ComboBox und TextBox)
Nun wollte ich natürlich die Verknpüfung sauber hinbekommen..bis jetzt bin ich mir aber nicht sicher welches Event dafür am besten geeignet ist.
Derzeit steuer ich auf eine TextBox die mit den Filtern verbunden ist, dachte aber ich frag mal ob es dafür auch bessere Alternativen gibt, um alle miteinander zu verbinden ohne viele aufwendige IF Funktionen zu verwenden.
Sollte das jedoch der einzige Weg sein, freue mich natürlich auch über die Bestätigung dazu.
VB.NET-Quellcode
- Private Sub mtb_search_TextChanged(sender As Object, e As EventArgs) Handles mtb_name.TextChanged, mcb_bereich.TextChanged, mcb_kasse.TextChanged, mcb_klasse.TextChanged, mcb_pg.TextChanged, mcb_körper.TextChanged
- Dim suchname As String = mtb_name.Text
- Dim suchbereich As String = mcb_bereich.Text
- Dim suchkasse As String = mcb_kasse.Text
- Dim suchklasse As String = mcb_klasse.Text
- Dim suchpg As String = mcb_pg.Text
- Dim suchkörper As String = mcb_körper.Text
- Dim filter1 As String = "Bezeichnung Like'" & suchname & "*'"
- Dim filter2 As String = "Produktgruppe Like'" & suchpg & "*'"
- Dim filter3 As String = "Produktbereich Like'" & suchbereich & "*'"
- Dim filter4 As String = "Produktklasse Like'" & suchklasse & "*'"
- Dim filter5 As String = "Körperbereich Like'" & suchkörper & "*'"
- Dim filter6 As String = "Kasse Like'" & suchkasse & "*'"
- If suchpg <> "" And suchkasse <> "" And suchklasse <> "" And suchbereich <> "" And suchkörper <> "" And suchname <> "" Then
- OrthesenDTBindingSource.Filter = filter2 & " AND " & filter6 & " AND " & filter4 & " AND " & filter3 & " AND " & filter5 & " AND " & filter1
- ElseIf suchpg <> "" And suchkasse <> "" And suchklasse <> "" And suchbereich <> "" And suchkörper <> "" Then
- OrthesenDTBindingSource.Filter = filter2 & " AND " & filter6 & " AND " & filter4 & " AND " & filter3 & " AND " & filter5
- ElseIf suchpg <> "" And suchkasse <> "" And suchklasse <> "" And suchbereich <> "" Then
- OrthesenDTBindingSource.Filter = filter2 & " AND " & filter6 & " AND " & filter4 & " AND " & filter3
- ElseIf suchpg <> "" And suchkasse <> "" And suchklasse <> "" Then
- OrthesenDTBindingSource.Filter = filter2 & " AND " & filter6 & " AND " & filter4
- ElseIf suchpg <> "" And suchkasse <> "" Then
- OrthesenDTBindingSource.Filter = filter2 & " AND " & filter6
- ElseIf suchpg <> "" Then
- OrthesenDTBindingSource.Filter = filter2
- Else
- MessageBox.Show("Bitte das Auswahlkriterium anpassen!")
- End If
Freue mich über Feedback.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Sam85“ ()