| |

VB.NET - Ein- und UmsteigerDatagridview 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 |  |
Re: Datagridview Edit Cell bei Klick auf Menu-Punkt oder Symbolleisten-Button ... | |  | Autor: Dideldum | Datum: 30.07.23 15:19 |
| Wenn ich in die erste Zeile des Buttonhandlers eines Symbolleistenbuttons reinschreibe:
trv_Folders.select() wird das CellEndEdit korrekt vor der Neubefüllung der Tabelle in der DGV ausgeführt.
Schreibe ich in die erste Zeile eines SymbolleistenButton-Handlers aber:
me.select() erhalte ich wieder den Fehler in der CellEndEdit der DGV-Files, dass die Tabelle verändert wurde.
Wie kann ich das Problem sauber lösen? |  |
Re: Datagridview Edit Cell bei Klick auf Menu-Punkt oder Symbolleisten-Button ... | |  | Autor: Dideldum | Datum: 07.08.23 04:05 |
| Hi Ihr,
hat denn keiner einen Tip, was ich machen kann, dass beim Anklicken eines Menupunkts in der Menuleiste oder eines Symbolleisten-Buttons tatsächlich ein CellEndEdit der gerade bearbeiteten DGV-Zelle ausgeführt wird?
Eigentlich müsste das m.E. automatisch erfolgen.
Bekommen diese Controls vielleicht gar nicht wirklich den Focus beim Anklicken und dadurch wird kein CellLeave und kein CellValidating ausgelöst?
Muss ich tatsächlich in jeden MenuClick- und ButtonClick-Handler manuell einen SetFocus auf ein Control setzen muss, der dann das CellEndEdit auslöst.
Dieses Problem müssten doch schon viele hier gehabt haben, oder? |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere Infos
Tipp des Monats Oktober 2023 Dieter OtterPopUp-Menü wird nicht angezeigt :-(In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2023 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
|
|