Laden...

[erledigt] DataGridView TextChanged Ereignis

Erstellt von zerberos vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.605 Views
Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren
[erledigt] DataGridView TextChanged Ereignis

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

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

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...

4.939 Beiträge seit 2008
vor 15 Jahren

Dafür gibt es die Komponente 'DataGridViewTextBoxEditingControl', welche ein TextChanged-Ereignis unterstützt.
An das Editing-Control kommst du mittels des DataGridView.EditingControlShowing-Ereignisses.

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

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..

F
10.010 Beiträge seit 2004
vor 15 Jahren

Warum willst du soetwas unnötigerweise in der UI machen?

Validierung gehört nicht dorthin, sondern in die Businessschicht.

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

habs gelöst. danke