Announcement

Collapse
No announcement yet.

DataGridView Zelleninhalt markieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataGridView Zelleninhalt markieren

    Hallo Zusammen,

    folgendes Problem: Wenn ich in eine Zelle eines DataGridViews klicke, erhält die Zelle den Fokus und ich kann die Eingabe bei ReadOnly = False sofort über die Tastatur ausführen. Was mich dabei stört ist jedoch, dass ich den Wert nicht löschen kann über die Backspace- oder Entf-Taste.
    Im normalen Verhalten müsste ich nachdem der Fokus auf der entspr. Zelle befindet nocheinmal mit der Maus klicken, damit der Wert markiert wird. Kann ich diesen 2. Klick simulieren bzw. beim ersten CellClick den Inhalt markieren wie es bei der Textbox möglich ist?

    Oder viell. habt ihr noch andere Vorschläge?

    Gruß und Danke
    Gogat

  • #2
    Wie ist denn DataGridView.EditMode festgelegt? Siehe die die Erläuterungen zur DataGridViewEditMode-Enumeration in der SDK-Doku. Jürgen

    Comment


    • #3
      EditMode ist original -> also EditOnKeystrokeOrF2

      die anderen Möglichkeiten bringen mich meines Wissens nicht arg viel weiter, da ich nach der Eingabe das Formularfenster mit Enter schließen möchte, und das nicht geht, wenn ich mich z.b. im EditOnEnter-Modus befinde.

      Comment


      • #4
        Originally posted by Gogat View Post
        Wenn ich in eine Zelle eines DataGridViews klicke, erhält die Zelle den Fokus und ich kann die Eingabe bei ReadOnly = False sofort über die Tastatur ausführen. Was mich dabei stört ist jedoch, dass ich den Wert nicht löschen kann über die Backspace- oder Entf-Taste.
        Im normalen Verhalten müsste ich nachdem der Fokus auf der entspr. Zelle befindet nocheinmal mit der Maus klicken, damit der Wert markiert wird. Kann ich diesen 2. Klick simulieren bzw. beim ersten CellClick den Inhalt markieren wie es bei der Textbox möglich ist?

        Oder viell. habt ihr noch andere Vorschläge?
        Hallo,

        man kann das Ereignis CellEnter abfragen und im Eventhandler aufrufen

        datagridview.BeginEdit(true);

        Bei Übergabe von true wird der Text gleich selektiert. Allerdings scheint es ein Problem zu geben, wenn man das Datagridview verlässt und die zuletzt selektierte Zelle dann erneut mit der Maus anklickt. Dann scheint das nicht zu funktionieren. Vermutlich wird dann das CellEnter-Ereignis nicht ausgelöst. Kann man aber lösen, wenn man zusätzlich noch das CellMouseDown-Ereignis abfragt und da wieder die BeginEdit-Methode aufruft.

        Also:

        Code:
        private void datagridview_CellEnter(...) {
             datagridview.BeginEdit(true);
        }
        
        
        
        private void datagridview_CellMouseDown(...) {
             datagridview.BeginEdit(true);
        }

        Comment

        Working...
        X