2017-09-05 60 views
2

我想在表单加载中更改网格复选框值,问题是当我运行并跟踪代码时,它的工作正常,但网格上没有任何更改。如何在表单加载中更改gridview复选框的值?

代码块:

For Each row As DataGridViewRow In DataGridView3.Rows 
    Dim c As Integer 
    c = row.Cells(4).Value 
    If c = 2 Then 
     row.Cells(selctWin.Name).Value = True 
    Else 
     row.Cells(selctWin.Name).Value = False 
    End If 
Next 
+0

在for循环和检查之后,您可以尝试添加此'DataGridView3.CommitEdit(DataGridViewDataErrorContexts.Commit)'。 –

+1

不是在前端的复选框列值中指定值,而是在sql查询中包含附加的“位”列,并根据列“c”将值赋给“true”或“false”。它将减少前端的额外循环。 –

+1

将我的代码添加到'DataGridView3_CellContentClick'事件并尝试 –

回答

1

试试这个下面的代码:

Private Sub DataGridView3_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) 
    DataGridView3.CommitEdit(DataGridViewDataErrorContexts.Commit) 
End Sub 

这将允许更改提交时,单元格的内容点击(这里checkboxCell),但不结束编辑模式。有关CommitEdit方法的更多信息,请参阅此documentation

相关问题