CellClickevent im Header verhindern DataGridVie

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    CellClickevent im Header verhindern DataGridVie

    Moin moin Zusammen,

    Problemstellung:
    In einem DataGridVie soll das CellClickevent nicht aktiviert werden wenn der Header angeklickt wird.


    Lösungsansatz:
    Wenn ich das richtig in Erinnerung habe gibt RowIndex für den Header-1 zurück
    msdn

    VB.NET-Quellcode

    1. Private Sub DataGridVie1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridVie1.CellClick
    2. If DataGridVie1.CurrentCell.RowIndex >-1 Then
    3. End If



    Aber:
    Rowindex gibt mir für den Header und die erste Zeile jeweils 0 zurück

    Visual Basic-Quellcode

    1. Private Sub DataGridVie1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridVie1.CellClick
    2. TextBox1.Text = DataGridVie1.CurrentCell.RowIndex



    Bitte seit so lieb und sagt mir wo oder wie ich gerade auf dem Schlauch stehe.
    Bin auch für jede Alternativeidee dankbar.

    PS: Ja mir ist die Frage fast schon peinlich-_-


    Lösung:
    Label1.Text = e.RowIndex.ToString

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „anomaly86“ ()

    anomaly86 schrieb:

    CellClick
    Probier es mal mit dem CellContentClick.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jou.

    anomaly86 schrieb:

    Resultat
    Teste mal dies in Kombination:

    VB.NET-Quellcode

    1. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    2. Label1.Text = e.RowIndex.ToString
    3. End Sub
    4. Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
    5. Label1.Text = e.RowIndex.ToString
    6. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wie Oben im Problem beschrieben RowIndex bzw. DataGridVie1.CurrentCell.RowIndex funktioniert, aber Der Header und die erste Datenzeile liefern beide 0 zurück ?!

    Um Missverständnisse auschließen zu können
    Hier ein Bild dazu.

    Wenn ich auf ProjektID und auf die markierte Zelle klicke gibt DataGridVie1.CurrentCell.RowIndex beide Male eine 0 zurück und eben keine -1 für ProjektID

    Dadurch wird das Clickevent bei mir dann auch für die erste Datenzeile geblockt -.-

    Post hat sich überschnitten moment bitte ich lese eben
    Vielen Lieben Dank funktioniert dann auch so wie es soll!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „anomaly86“ ()

    Und bei einem Klick wohin bekommst Du keine -1?

    anomaly86 schrieb:

    Missverständnisse
    Nutze bitte die forumsinterne Anhang-Funktion:
    Erweiterte Antwort => Dateianhänge => Hochladen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @mox
    Nein mache ich nicht mein Beitrag von 15:03 bezieht sich auf dich. Sowohl dein Beitrag als auch der Beitrag von RodFromGermany haben mir sehr geholfen! Nur kannte ich "e." in diesem Zusammenhang noch nicht X/.

    @RodFromGermany
    Vielen Dank für den Hinweis werde ich das nächste Mal beachten!

    @VB1963
    Mein DataGridView zeigt die wichtigsten Informationen von Datensätzen an die sich in einer Accersdatenbank befinden (dient nur zur Übersicht). Nach einem CellClick wird das DataGridView ausgeblendet und der komplette Datensatz wird in Textboxen kopiert. Diese Aktion fand auch nach einem Klick auf den Header statt. Dadurch konnte ich das DataGridView nicht mehr sortieren lassen.

    VB1963 schrieb:

    abzufangen
    Jou.
    Die Diskussion hatten wir schon mal, und da kommt es drauf an, in welcher Reihenfolge die Klicks gesendet werden.
    Wenn das passt, kann man da ein Flag setzen und drauf reagieren bzw. nicht reagieren. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!