DGV Cell Klick

  • VB.NET
  • .NET (FX) 4.0

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Akanel.

    DGV Cell Klick

    Hallo
    Mit folgendem Code versuche ich fest zustellen ob irgendeine Zelle in Spalte 2 angeklickt wird

    VB.NET-Quellcode

    1. Private Sub DGV_1_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV_1.CellContentClick
    2. Me.TextBox1.Text = Me.DGV_1.CurrentCell.ColumnIndex.ToString
    3. ' bei Doppelklick auf 1. Spalte (e.ColumnIndex 0) u.s.w.
    4. If e.ColumnIndex = 2 Then
    5. Me.TBX_Spalte.Text = Me.DGV_1.CurrentCell.Value.ToString
    6. MessageBox.Show("Spalte 2 ist angeklickt")
    7. Else
    8. MessageBox.Show("Falsche Spalte")
    9. End If
    10. End Sub

    das funktioniert im Prinzip auch wunderbar, aber manchmal aktualisiert sich der Wert in Textbox1 bei klick in eine andere Spalte nicht

    Was mache ich da verkehrt?

    trebron57

    trebron57 schrieb:

    aber manchmal aktualisiert sich der Wert in Textbox1 bei klick in eine andere Spalte nicht
    Klar.
    Da musst Du im Else-Zweig auch was in die TextBox schreiben.
    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!

    AndPod schrieb:

    Ich vermute mal, daß das CellClick Ereignis besser wäre als das CellContentClick.
    Am besten, beide Events abonieren und nachsehen, wo nix oder was falsches passiert.
    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!

    VB.NET-Quellcode

    1. Private Sub DGV_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV.CellClick
    2. Me.txtReihe.Text = Me.DGV.CurrentCell.RowIndex.ToString
    3. Me.txtSpalte.Text = Me.DGV.CurrentCell.ColumnIndex.ToString
    4. If Me.DGV.CurrentCell.Value IsNot Nothing Then
    5. Me.txtContentZelle.Text = Me.DGV.CurrentCell.Value.ToString
    6. Else
    7. Me.txtContentZelle.Text = "ZELLE IST LEER"
    8. End If
    9. End Sub


    Damit klappt es bei jedem klick in eine Zelle.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.