vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Datagridview Edit Cell bei Klick auf Menu-Punkt oder Symbolleisten-Button ... 
Autor: Dideldum
Datum: 30.07.23 15:03

Hi Ihr,

wieder so ein dusseliges Problem, für welches ich keine Lösung finde.

Ich klicke langsam zweimal in eine DGV-Zelle, dann wird diese editierbar.
Soweit so gut.

Aber wenn ich in diesem Zellenzustand auf einen Menupunkt oder ein Symbol in meiner Symbolleiste klicke, wird das Editieren der Zelle nicht abgeschlossen, sondern diese behält die Texteingabe-Möglichkeit bei.

Das CellEndEdit wird also nicht ausgelöst.

Wie es mir erscheint, wird CellLeave und CellValidating dann erst ausgelöst, wenn ein anderer Prozess die DGV verändert.
Dann sind die Zellenwerte aber schon verändert und meine Umbenennungsroutine erzeugt einen Fehler.

Klicke ich anstelle eines Menupunkts oder eines SymbolleistenSymbols aber auf ein anderes Control, wird das Editieren der Zelle korrekt abgeschlossen.

Wie kann ich dieses Problem verhindern?
Wäre toll, wenn mir da einer von Euch helfen könnte.

ChatGPT versteht nicht, was mein Problem ist...


Alle drei folgenden Subs werden zu spät ausgeführt - dann, wenn die Tabelle bereits verändert wurde. Bzw. im Falle der dgv_Files_Leave überhaupt nicht, wenn ich einen Menupunkt oder ein SymbolleistenSymbol anklicke.

    Private Sub dgv_Files_Leave(sender As Object, e As EventArgs) Handles _
      dgv_Files.Leave
        dgv_Files.CancelEdit()
    End Sub
 
 
    Private Sub dgv_Files_CellLeave(sender As Object, e As _
      DataGridViewCellEventArgs) Handles dgv_Files.CellLeave
        dgv_Files.CancelEdit()
    End Sub
 
 
    Private Sub dgv_Files_CellValidating(sender As Object, e As _
      DataGridViewCellValidatingEventArgs) Handles dgv_Files.CellValidating
        If dgv_Files.IsCurrentCellDirty Then
            Dim currentValue As Object = dgv_Files.CurrentCell.Value
            Dim newValue As Object = e.FormattedValue
 
            ' Überprüfen, ob die Änderungen ungültig sind
            If Not CheckFileName(newValue) Then
                dgv_Files.CancelEdit()
            End If
        End If
    End Sub
Ein schönes Rest-Wochenende @All
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datagridview Edit Cell bei Klick auf Menu-Punkt oder Symboll...356Dideldum30.07.23 15:03
Re: Datagridview Edit Cell bei Klick auf Menu-Punkt oder Sym...206Dideldum30.07.23 15:19
Re: Datagridview Edit Cell bei Klick auf Menu-Punkt oder Sym...153Dideldum07.08.23 04:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel