vb.net - 在 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
解决方案
推荐阅读
- c++ - RSA 解密产生错误结果
- php - PDO 和 SQL 注入问题
- windows - 多次追加文本文件以创建一个大文本文件进行测试
- c# - 我应该使用 Docker 将 Web API 项目(微服务)部署到 Azure Web App
- awk - 在 awk 中重置 NR
- javascript - 背景模糊动画
- java - 如何在scala中处理列表并迭代添加元素
- apache - Apache Busy 工作线程增加到 MaxRequestWorkers 设置并出现错误 AH00286:服务器达到 MaxRequestWorkers 设置
- python - 使用 Python 库与 adb 交互并在没有 sudo 的设备上更改为 su
- java - 如何在 Windows 上的路径上有两个不同的 java SDK