如何取消选中特定DGV单元格中的复选框

时间:2016-10-15 13:37:37

标签: vb.net winforms datagridview datagridviewcheckboxcell

我目前正在使用带有SQL后端的VB.NET Visual Studio Professional。我有一个DataGridView,用于填充列位置0和1中有两个CheckBox列的部件列表.0位置的复选框列标记为“完成”,位置1中的复选框列标记为如“失踪”。当操作员切割零件时,他们会将该行标记为完整或缺失,并在任一列中使用复选框。如果缺少某个部件,那么当用户单击“缺失”列中的复选框时,它会打开一个新表单作为对话框结果。此时,将打开新表单,并检查缺少列下该行中的复选框。但是,操作员可以单击对话框结果上的按钮来取消输入。我的问题出现在这里。单击取消按钮后,表单将关闭,但原始DGV上的复选框仍保持检查状态,由于某种原因,我无法取消选中它。 DGV是绑定到sql表的数据,但前两个复选框列是在设计表单中手动添加的。关于如何取消选中此复选框的任何建议?这是我的代码:

ElseIf dr = Windows.Forms.DialogResult.Cancel Then
    MsgBox(Row_Index)
    MsgBox(DGVList.CurrentCell.ColumnIndex)
    'DGVList(Row_Index, 1).Value = True
    DGVList(DGVList.CurrentCell.ColumnIndex, DGVList.CurrentCell.RowIndex).Value = False
   'DGVList("Missing", Row_Index).Value = False
    MsgBox("Hot part has been canceled by user. This part will not be marked as missing.")
End If

我的row_index声明在sub的顶部,两个消息框似乎都与正确的位置相关联。为了增加这个大脑的戏弄,在第2行和第4行,代码可以工作,但没有其他地方。

1 个答案:

答案 0 :(得分:0)

我明白了。我不知道为什么我必须这样做,但它有效。

 Dim val1 as DataGridViewCheckBoxCell = DGVList(DGVList.CurrentCell.ColumnIndex, DGVList.CurrentCell.RowIndex)
 val1.value = false