vb.net datagridview复选框循环错误

时间:2018-05-09 22:11:55

标签: vb.net datagridview

我正在循环遍历datagridview1复选框列(column1),如果选中该复选框,则必须更改column3中单元格的值。

我的下面的代码在datagridview1.DefaultView.RowFilter = Nothing时工作正常 但是,启用DefaultView.RowFilter后它无效。

For Each row As DataGridViewRow In DataGridView1.Rows
Dim isSelected As Boolean = Convert.ToBoolean(row.Cells(0).Value)
If isSelected Then
row.Cells(3).Value = ComboBox2.Text  
End If
Next 

假设我选择了5个复选框,但只有1个记录会改变,而其他4个记录将保持原样。仅当启用了datagridview1行筛选器时才会发生这种情况。

2 个答案:

答案 0 :(得分:0)

只是为了好玩而尝试......

For i As Integer = 0 To DataGridView1.Rows.Count - 2
  'Your code here
Next

注意-2显然网格正在计算星号的最后一行,而不是任何一行。

答案 1 :(得分:0)

在谷歌研究后,我能够解决它。

Try

        For i = DataGridView1.Rows.Count - 1 To 0 Step -1

            If (DataGridView1.Rows(i).Cells(0).Value = True) Then

                DataGridView1.Rows(i).Cells("Shift").Value = ComboBox2.Text

            End If


        Next

    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

谢谢大家!