Datagridview: neue Zeile erstellen nach "RowEnter"

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von bla.

    Datagridview: neue Zeile erstellen nach "RowEnter"

    Hallo,

    Ich habe eine Datagridview mit der Eigenschaft: AllowUserToAddRows=True
    D.h., wenn ich in der letzten Zeile eine Taste drücke, kommt automatisch eine neue Zeile darunter hinzu.

    Jetzt möchte ich aber, dass wenn die letzte Zeile aktiviert wird (also per Maus angeklickt wird), soll sich diese automatisch füllen.

    Das klappt soweit auch wunderbar, aber: Es wird dann nicht mehr automatisch eine neue leere Zeile eingefügt :(

    VB.NET-Quellcode

    1. Private Sub DataGridView1_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.RowEnter
    2. If e.RowIndex = DataGridView1.Rows.Count - 1 AndAlso e.RowIndex <> 0 Then
    3. DataGridView1.Rows(e.RowIndex).Cells(0).Value = DataGridView1.Rows(e.RowIndex - 1).Cells(0).Value
    4. End If
    5. End Sub


    Um jetzt eine neue leere Zeile hinzuzufügen, war meine Idee, einfach ein rows.add hinzuzufügen.

    VB.NET-Quellcode

    1. Private Sub DataGridView1_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.RowEnter
    2. If e.RowIndex = DataGridView1.Rows.Count - 1 AndAlso e.RowIndex <> 0 Then
    3. DataGridView1.Rows(e.RowIndex).Cells(0).Value = DataGridView1.Rows(e.RowIndex - 1).Cells(0).Value
    4. DataGridView1.Rows.Add(1)
    5. End If
    6. End Sub


    Das darf ich aber anscheinend nicht:
    Der Vorgang kann in diesem Ereignishandler nicht durchgeführt werden.


    Gibts dafür vielleicht noch ein anderes Workaround?

    Danke :)
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!
    Ich binde keinerlei Daten an das DGV, da alles per Hand eingegeben wird.
    Mein Workaround ist jetzt: Die erste Zelle per Sendkeys zu füllen, damit automatisch eine neue Zeile eingefügt wird. Die nachfolgenden kann ich dann per Programm füllen.
    Nicht das gelbe vom Ei, aber funktioniert ;)
    Für ein Mindestmaß an Rechtschreibung, Interpunktion und Majuskeln!