Problem mit Zugriff auf DataGridView - erste Zeile

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Problem mit Zugriff auf DataGridView - erste Zeile

    Moin!

    ich habe einen Dialog mit zwei Registerkarten und in jedem ist ein DataGridView.



    Das Problem ist, dass bei einem Klick auf die erste Zeile in der zweiten Registerkarte nicht immer reagiert wird - also auch im Debugger nicht in die entsprechende Sub gesprungen wird.

    Hier meine Funktion

    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Auslösen der Öffnen-Schaltflächen
    3. ''' </summary>
    4. Private Sub Grid_CellContent(sender As Object, e As DataGridViewCellEventArgs) Handles DVG.CellContentClick, DateibezeichnungDataGridView.CellContentClick
    5. Try
    6. Dim FileName As String = CStr(DVG.Item(1, e.RowIndex).Value)
    7. Dim FolderName As String = CStr(DVG.Item(2, e.RowIndex).Value)
    8. Dim tmpFolderName As String = FolderName
    9. Dim FileEx As String = System.IO.Path.GetExtension(FileName).ToUpper
    10. If FolderName.Length > 0 Then
    11. If FolderName.Substring(0, 3) = "..." Then
    12. tmpFolderName = FolderName.Substring(3)
    13. End If
    14. End If
    15. '.....
    16. Dim FullName As String = System.IO.Path.Combine(_Grundst_RootFolder & tmpFolderName, FileName)
    17. Catch ex As Exception
    18. MsgBox("unerwarteter Fehler in EBL_Ex2GrundDok > frm_GrundstDoku > Grid_CellContent" & vbCrLf & _
    19. ex.ToString, MsgBoxStyle.Critical, k_AppName)
    20. End Try
    21. End Sub


    Das betreffende Grid heißt "DateibezeichnungDataGridView" und neben dem dortigen CellContentClick-Event gibt es an anderer Stelle noch ein CellDoubleClick-Event. Aber das reagiert, erwartungsgemäß, nicht.

    Bei der Auswahl der zweiten Zeile erfolgt stets eine Reaktion - auch in der ersten Registerkarte.

    Hat einer eine Idee?

    Gruß Jan
    Wenn man von Sachen absieht wie VB6-Namespace (MsgBox) und undifferenziertem Try-Catch: Schon mal den CellEnter-EventHandler probiert? Es stellt sich aber auch die Frage, wann genau die Prozedur aufgerufen werden soll. Versuche das so genau wie möglich als Antwort zu posten.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Hi !

    danke erst einmal für die Rückmeldung.

    Nein, CellEnter habe ich noch nicht ausprobiert.

    Warum Du nach dem try-catch fragst verstehe ich nicht ganz. Es geht ja erst einmal das diese Funktion überhaupt aufgerufen wird.

    Es soll eine Reaktion auf einen Klick in den ersten beiden Spalten erfolgen wobei der Wert aus der Spalte 2 (Dateiname) benötigt wird.

    Gruß Jan

    PS: habe den Aufruf geändert in

    VB.NET-Quellcode

    1. Private Sub Grid_CellContent(sender As Object, e As DataGridViewCellEventArgs) Handles DVG.CellClick, DateibezeichnungDataGridView.CellClick


    danach scheint es zu funktionieren.

    8o

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

    jan99 schrieb:

    Warum Du nach dem try-catch fragst verstehe ich nicht ganz.
    Das war nur eine Code-Anmerkung meinerseits, weil ein undifferenziertes Try-Catch viel zu häufig eingesetzt wird und man sich damit mehr verbaut als Probleme zu lösen, aber das ist ja auch nicht das Problem hier (gewesen).
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.