首页 > 解决方案 > 在 ColumnHeaderMouseClick 上切换 DataGridView 复选框列

问题描述

我有一个 DataGridView dgv,它有一个复选框列chkColumn作为第一列,然后通过 SQL 查询填充其他列。

我希望能够单击chkColumn标题并切换所有行的复选框。

我当前的代码是这样的,但是单击标题可以正确完成操作,但任何选定的单元格/行除外:

Private Sub chkColumn_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgv.ColumnHeaderMouseClick

        Dim checkCount As Integer = 0
        Dim rowsCount As Integer = 0

        For Each row As DataGridViewRow In dgv.Rows
            rowsCount = rowsCount + 1
            If row.Cells("chkColumn").Value = 1 Then
                checkCount = checkCount + 1
            End If
        Next

        If checkCount < rowsCount Then
            For Each row As DataGridViewRow In dgv.Rows
                row.Cells("chkColumn").Value = 1
            Next
        Else
            For Each row As DataGridViewRow In dgv.Rows
                row.Cells("chkColumn").Value = 0
            Next
        End If

    End Sub

标签: vb.netdatagridview

解决方案



推荐阅读