Datagridview mit Auswahlspalte - Anzahl der gewählten Felder

  • VB.NET

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

    Datagridview mit Auswahlspalte - Anzahl der gewählten Felder

    Moin!

    ich habe ein Datagridview und in einer Spalte sind Auswahlhäkchen.

    Wenn nun ein Haken gesetzt wird oder entfernt wird soll die Anzahl ermittelt werden und dann angezeigt werden.

    Ich habe das schon über

    VB.NET-Quellcode

    1. Public Sub DataGridView_SelectionColumnControlling(ByVal sender As Object, ByVal e As EventArgs) Handles DataGridView.CurrentCellDirtyStateChanged


    Versucht - aber irgendwie wird immer falsch gezählt.

    Mein Eindruck, ist die letzte Auswahl dann nicht richtig berücksichtigt wird.

    Kann mir einer weiterhelfen?

    Gruß Jan
    Moin!

    da hatte ich wohl einmal zu einfach beschrieben.

    Also die Auswahlspalte ist hier blau umrandet.



    Die Daten werden manuell und nicht über eine Datenquelle angehängt.

    Meine derzeitige Zählroutine sieht wie folgt aus:

    VB.NET-Quellcode

    1. ''' <summary>
    2. ''' Überwachen der Spalte mit den Auswahlhaken
    3. ''' </summary>
    4. Public Sub DataGridView_SelectionColumnControlling(ByVal sender As Object, ByVal e As EventArgs) Handles DataGridView.CurrentCellDirtyStateChanged
    5. Dim DVGRow As DataGridViewRow
    6. _TotalCountRecordSelected = 0
    7. For Each DVGRow In DataGridView.Rows
    8. If CType(DVGRow.Cells(0).Value, Boolean) = True Then
    9. _TotalCountRecordSelected += 1
    10. End If
    11. Next
    12. VisibleControlButtonAnwenden()
    13. End Sub


    Wenn ich das beim Debuggen richtig verstehe wird immer die Auswertung auf den Haken-Status vor meinem Anklicken ausgewertet.

    Verständlicher?

    Gruß Jan
    Dann versuch mal das CellValueChanged-Event. Das hat den aktualisierten Wert drin.

    Wenn du keine Datenquelle hast dann ist es auch nicht verkehrt, diese anzulegen. Das hier ist nicht der einzige Fall, der dadurch erheblich leichter wird.
    Wie Daten da reinkommen ändert sich ja nicht. "Manuell anhängen" kann man ja an eine typisierte DataTable auch viel besser als an ein DataGridView.