Hallo,
bin momentan dabei meine Anwednung von vielen Textboxen auf ein DataGridView umzustellen.
Bei dex Textboxen habe ich beim Ereignis TextChanged die Eingabe auf gültige Zeichen/Format überprüft
Nun suche ich ein Ereignis beim DataGridView um das zu machen. Habe es mal mit CellValueChanged probiert. Das ist aber nicht das richtige da das Ereignis erst ausgelöst wird wenn man die Zelle wieder verläßt
Welches ereignis muss ich benutzen, wenn ich direkt wenn das zeichen eingegeben wurde prüfen will ob das erlaubt ist
Bis jetzt hab ich das sp überprüft:
'Überprüfung nach ungültigen Zeichen
Dim TxtBx As TextBox = CType(sender, TextBox)
Dim MatchPattern As String = "[^(0-9)|^,]+"
If TxtBx.TextLength > 0 Then
Dim Match As Match = System.Text.RegularExpressions.Regex.Match(TxtBx.Text, MatchPattern)
If Match.Success Then
MsgBox("Sie haben ein unerlaubtes Zeichen eingegeben: " & """" & Match.Value & """")
Dim i As Integer = TxtBx.Text.IndexOf(Match.Value)
TxtBx.Text = TxtBx.Text.Remove(i, Match.Length)
TxtBx.Select(i, 0)
TxtBx.ScrollToCaret()
End If
End If
Das muss ich jetzt halt irgendwie umstellen, das das im DataGridView funktioniert. Habe aber keine Ahnung wie momentan...
Dafür gibt es die Komponente 'DataGridViewTextBoxEditingControl', welche ein TextChanged-Ereignis unterstützt.
An das Editing-Control kommst du mittels des DataGridView.EditingControlShowing-Ereignisses.
Dafür gibt es die Komponente 'DataGridViewTextBoxEditingControl', welche ein TextChanged-Ereignis unterstützt.
An das Editing-Control kommst du mittels des DataGridView.EditingControlShowing-Ereignisses.
Hallo,
in
Private Sub DGV_Eingabe_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DGV_Eingabe.EditingControlShowing
End Sub
kann ich ja auf DataGridViewTextBoxEditingControl zugreifen. Aber ich hab leider keine ahnung wie ich TextChanged ereignis jetzt ansteuer..
Warum willst du soetwas unnötigerweise in der UI machen?
Validierung gehört nicht dorthin, sondern in die Businessschicht.