Hallo zusammen!
Ich stehe vor folgendem Problem:
Auf einer Form habe ich Filtermöglichkeiten eingebaut (siehe Bild). Die Textboxen und Datepicker werden erst nach Anhaken der CheckBox aktiv.
Jenachdem, was dort angewählt wird soll eine Bindingsource gefiltert werden. -> es muss dazu ein String (z.B. FilterString = STRING) erzeugt werden:
D.h. die Auswahl kann nichts, alles oder diverse sein. Je nach Auswahl soll dann der String zusammengesetzt werden für BindingSource.Filter
Lässt sich das sinnvoll zusammenfassen, ohne für jede denkbare Variante eine If-Klausel zu basteln? (Dann wird das ein sehr sehr langer Code)
Zur Steuerung hab ich gedacht, dass man abfangen könnte, welche Checkbox(en) aktiviert ist(sind) - sind keine aktiviert dann
wäre der String schonmal
Also für eine einzige Auswahl (im Beispiel Mitarbeiter) wäre das wie folgt:
Für 2 angehakte CheckBoxen:
usw.
Ich bin noch recht neu in der Programmierung und mit meiner Lektüre noch nicht soweit, dass ich das schon könnte. Allerdings glaube ich,
dass man so ein Konstrukt (wenn überhaupt möglich) auch nicht mit Basiswissen beherrscht
Wenn noch Angaben fehlen, dann lasst es mich bitte wissen.
Ich stehe vor folgendem Problem:
Auf einer Form habe ich Filtermöglichkeiten eingebaut (siehe Bild). Die Textboxen und Datepicker werden erst nach Anhaken der CheckBox aktiv.
Jenachdem, was dort angewählt wird soll eine Bindingsource gefiltert werden. -> es muss dazu ein String (z.B. FilterString = STRING) erzeugt werden:
D.h. die Auswahl kann nichts, alles oder diverse sein. Je nach Auswahl soll dann der String zusammengesetzt werden für BindingSource.Filter
BindingSource.Filter = FilterString
Lässt sich das sinnvoll zusammenfassen, ohne für jede denkbare Variante eine If-Klausel zu basteln? (Dann wird das ein sehr sehr langer Code)
Zur Steuerung hab ich gedacht, dass man abfangen könnte, welche Checkbox(en) aktiviert ist(sind) - sind keine aktiviert dann
wäre der String schonmal
FilterString = ""
Also für eine einzige Auswahl (im Beispiel Mitarbeiter) wäre das wie folgt:
VB.NET-Quellcode
- Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnAusgabe.Click
- Select Case True
- Case sender Is btnAusgabe
- Dim FilterString As String = Nothing
- If CbMitarbeiter.Checked = True Then
- FilterString = $"Mitarbeiter = {TbMitarbeiter.Text}"
- Else
- FilterString = ""
- End If
- BindingSource.Filter = FilterString
- End Select
- End Sub
Für 2 angehakte CheckBoxen:
VB.NET-Quellcode
- Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnAusgabe.Click
- Select Case True
- Case sender Is btnAusgabe
- Dim FilterString As String = Nothing
- If CbMitarbeiter.Checked = True Then
- If CbStandort.Checked = True Then
- FilterString = $"Mitarbeiter = {TbMitarbeiter.Text} AND Standort = {TbStandort.Text}"
- Else
- FilterString = $"Mitarbeiter = {TbMitarbeiter.Text}"
- End If
- Else
- FilterString = ""
- End If
- BindingSource.Filter = FilterString
- End Select
- End Sub
usw.
Ich bin noch recht neu in der Programmierung und mit meiner Lektüre noch nicht soweit, dass ich das schon könnte. Allerdings glaube ich,
dass man so ein Konstrukt (wenn überhaupt möglich) auch nicht mit Basiswissen beherrscht
Wenn noch Angaben fehlen, dann lasst es mich bitte wissen.
"Na, wie ist das Wetter bei dir?"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"