vb.net - DataGridView 中的复选框不会评估单元格是否具有焦点
问题描述
DataGridView (dgv1) 中的第一列有复选框。有趣的是,当您单击所需的最后一个复选框时,一旦您循环遍历该列的行以评估选中的项目,最后一个选中的单元格(带有光标)不会评估为真。循环通过第 0 列中的复选框的语法如下:
Dim NumCBChecked As Integer = 0
For i = 0 To dgv1.Rows.Count - 1
If CBool(dgv1(0, i).Value) = True Then
NumCBChecked += 1
End If
Next
如果包含最后一个选中复选框的单元格处于编辑模式,有没有办法将焦点设置为 false?
顺便说一句,在循环之前刷新编辑状态(如下)没有帮助:
dgv1.RefreshEdit()
解决方案
根据@JohnG 的评论,该建议的工作方式如下:
dgv1.EndEdit()
Dim NumCBChecked As Integer = 0
For i = 0 To dgv1.Rows.Count - 1
If CBool(dgv1(0, i).Value) = True Then
NumCBChecked += 1
End If
Next
推荐阅读
- python - CampaignPerformanceReportRequest 能否返回所有广告系列?
- iis - 来自虚拟目录 IIS 的图片不会加载
- r - 基于原始 CSV 文件名称的绘图名称
- node.js - 在带有 EJS 模板的 Node express 应用程序中使用 React 组件 UI
- xamarin.forms - Xamarin Forms:DisplayAlert 背景点击触发取消事件
- flutter - 错误:没有为类型 'RSSParser' 定义 getter 'title'
- python - 在同一日期范围内过滤 df
- docker - pod 部署后未反映的更改
- linux - Xfoil 正在运行但不会绘制数据,“无法打开显示...正在中止”
- custom-wordpress-pages - 使用 pagebuilder 主题(主要是 Elementor)时未显示自定义页面模板