Hallo liebes Forum.
Folgende Problemstellung:
Ich rufe eine Form "Suche" als .ShowDialog() auf. klicke ich in diesem Dialog auf "suchen" schließt er den Dialog sofort und kehrt zur vorherigen Form zurück.
Innerhalb des Dialogs befindet sich ein DataGridView mit Filtemöglichkeiten, ein Klick auf "suchen" soll dann die Ausgabe starten. Nach Doppelklick auf eine
der DataRows oder einfache Selektion und Klick auf "OK" soll sich der Dialog schließen und die selektierte DataRow an die BindingSource der Hauptform übergeben.
Der Aufruf erfolgt über:
Es gibt 3 Buttons (Suchen, OK, abbrechen) - OK und abbrechen sind ausgelegt auf Dialogresult:
Gibt's da einen Weg, der Button-Interaktionen innerhalb eines Dialogs zulässt oder muss ich das dann als Form anstelle Dialog öffnen?
Folgende Problemstellung:
Ich rufe eine Form "Suche" als .ShowDialog() auf. klicke ich in diesem Dialog auf "suchen" schließt er den Dialog sofort und kehrt zur vorherigen Form zurück.
Innerhalb des Dialogs befindet sich ein DataGridView mit Filtemöglichkeiten, ein Klick auf "suchen" soll dann die Ausgabe starten. Nach Doppelklick auf eine
der DataRows oder einfache Selektion und Klick auf "OK" soll sich der Dialog schließen und die selektierte DataRow an die BindingSource der Hauptform übergeben.
Der Aufruf erfolgt über:
VB.NET-Quellcode
- Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnSuche.Click, btnNeu.Click
- Select Case True
- Case sender Is btnSuche : DialogSuche()
- Case sender Is btnNeu
- End Select
- End Sub
- Sub DialogSuche()
- If dlgFahrzeugSuche.ShowDialog = DialogResult.OK Then
- bsFahrzeugDetail.DataSource = dlgFahrzeugSuche.Datensatz
- End If
- End Sub
Es gibt 3 Buttons (Suchen, OK, abbrechen) - OK und abbrechen sind ausgelegt auf Dialogresult:
VB.NET-Quellcode
- Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnOK.Click, btnCancel.Click
- Select Case True
- Case sender Is btnSuche
- Dim suchSpalte As DataColumn = Nothing
- Select Case True
- Case rBtnKennzeichen.Checked
- suchSpalte = Dts.Fahrzeug.KennzeichenColumn
- Case rBtnFabrikat.Checked
- suchSpalte = Dts.Fahrzeug.FabrikatColumn
- Case rBtnModell.Checked
- suchSpalte = Dts.Fahrzeug.ModellColumn
- Case rBtnStandort.Checked
- suchSpalte = Dts.Fahrzeug.StandortIDColumn
- End Select
- Dim expression = "1=0"
- Dim suchBegriff As String = Me.TbSuche.Text
- If suchBegriff <> "" Then
- If CbInaktive.CheckState = CheckState.Checked Then
- expression = $"{suchSpalte} Like '*{suchBegriff}*' AND Aktiv = True"
- Else
- expression = $"{suchSpalte} Like '*{suchBegriff}*'"
- End If
- Else
- If CbInaktive.CheckState = CheckState.Checked Then
- expression = "Aktiv = True"
- Else
- expression = ""
- End If
- End If
- bsFahrzeug.Filter = expression
- Case sender Is btnOK
- If DgvFahrzeugsuche.SelectedRows.Count > 0 Then
- Me.Close()
- Me.DialogResult = DialogResult.OK
- Else
- msgExclamation("Bitte einen Eintrag auswählen")
- End If
- Case sender Is btnCancel
- Me.Close()
- Me.DialogResult = DialogResult.Cancel
- End Select
- End Sub
Gibt's da einen Weg, der Button-Interaktionen innerhalb eines Dialogs zulässt oder muss ich das dann als Form anstelle Dialog öffnen?
"Na, wie ist das Wetter bei dir?"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"