For循环计算datagrid上的已检查项目计数不正确

时间:2014-01-23 19:43:20

标签: vb.net datagrid

我计算出以下循环来计算并显示我的数据网格中检查了多少行。但是,循环忽略了我的第一个检查行。在我检查第二行之前,计数不会从1开始。当我取消选中时,会发生相同的情况,值会被一个人关闭。

Dim chkRowCount As Integer = 0
For Each row As DataGridViewRow In dgvAssignGridView.Rows 
    If row.Cells(6).Value = True Then               
        chkRowCount += 1            
    Else                
        chkRowCount += 0            
    End If        
Next       
lblChkCount.Text = chkRowCount.ToString    

我已尝试将变量设置为1而不是0,但这会产生一些不需要的结果。

1 个答案:

答案 0 :(得分:1)

我猜你在CellContentClick中有这个代码。问题是该例程中的代码在实际更改复选框的值之前触发。但是,您可以通过在代码之前放置以下行来强制DataGridView首先验证自身。

dgvAssignGridView.EndEdit()

在您进行计数之前强制单击鼠标进行注册。