Announcement

Collapse
No announcement yet.

Datagrid und Tab-Taste

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

  • Datagrid und Tab-Taste

    Hallo,

    das "Standardverhalten" des Datagrid beim Drücken der Tab-Taste scheint zu sein, den ursprünglichen Inhalt der Zelle wiederherzustellen und zur nächsten Zelle zu springen.

    Ich möchte dies Verhalten ändern. Ich möchte aus dem Bearbeitungszustand den geänderten Inhalt der Zelle übernehmen und zur nächtsen Zelle springen.

    Ich habe mir ein Objekt von DataGridTextBoxColumn abgeleitet und dort eine Textbox eingeführt bei der ich das "IsInputKey"-Ereignis überschreibe.
    Hier kommt die Tab-Taste auch an, aber jetzt weiss ich nicht, was ich damit machen soll bzw. wie ich erreichen kann,
    dass der Inhalt in die Zelle übernommen wird und der Fokus zur nächsten springt.

    Vielen Dank im Voraus

    Torsten Zorn

  • #2
    Hallo,

    Dein Problem könnte über die CurrentCellChanged - Eigenschaft des DataGrid gelöst werden.

    Allerdings weis ich nicht, welche Datenverbindung im Hintergrund liegt, daher mußt Du den Code so anpassen, das bei dem Ereignis CurrentCellChanged ein entsprechendes Command-Objekt bei einer Datenanbindung durchgeführt wird.

    D.h. der übliche Weg:

    Connection aufbauen - Command-Aktion ausführen und dann DataSet bzw. DataTable neu einlesen und dem DataGrid als DataSource wieder neu zuordnen.

    Diese Vorgangsweise kann bei einem Netzwerk zu Performanceverlusten führen, da Du praktisch nach Änderung jeder Zelle eine neue Connection aufbaust.

    Vielleicht gibt es eine andere Lösung?

    Ich kenne nur diese:

    die diversen Änderungen werden sowieso im aktuellen DataSet oder DataTable im Arbeitsspeicher zwischengespeichert und dann werden alle Änderungen und neuen Datensätze in einem Rutsch durch ein anderes Ereignis mit der Datenconnection (Datenbank) aktualisiert.

    Ich hoffe ich konnte Dir helfen!

    Gruß
    Mik

    Comment


    • #3
      Hallo Mike,

      danke für Deine Antwort.
      Ich muss mich entschuldigen, denn ich habe mir in diesem Fall selbst ein Bein gestellt, d.h das Datagrid verhält sich ansich schon wie gewünscht. Allerdings habe ich eine Funktion auf das Validating-Ereignis der Eingabe eingebaut. die dann das normale Verhalten ändert. Ich bin gerade erst dahinter gekommen.

      Gruß Torste

      Comment


      • #4
        Hallo Thorsten!

        Kein Problem, und noch viel Erfolg!

        mfg

        Mik

        Comment

        Working...
        X