C#.NET Windows窗体:突出显示复选框,不更新dataTable

时间:2011-03-14 18:34:46

标签: .net winforms datagridview checkbox

我有一个带有布尔类型(复选框)列的dataGridView,绑定到dataTable。然后我使用dataTable中的值以固定间隔在某处发送API请求。问题是,当我单击复选框来更改值时,它不会立即更新表。我必须在更新前点击其他地方。所以说我选中一个方框,但保持细胞突出显示。然后,当计时器熄灭时,程序仍然认为该复选框未选中。有没有人以前遇到过这个问题?

1 个答案:

答案 0 :(得分:2)

//set up the event handler.
dgv.CurrentCellDirtyStateChanged += dgv_CurrentCellDirtyStateChanged;

//Call CommitEdit only on CheckBoxCell
private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{   
    if (dgv.CurrentCell is DataGridViewCheckBoxCell)   
    {      
        dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}