How to detect DataGridView CheckBox event change?

后端 未结 16 2446
离开以前
离开以前 2020-11-27 12:43

I have a winforms app and want to trigger some code when a checkbox embedded in a DataGridView control is checked / unchecked. Every event I have tried either

16条回答
  •  醉酒成梦
    2020-11-27 13:23

    Here is some code:

    private void dgvStandingOrder_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dgvStandingOrder.Columns[e.ColumnIndex].Name == "IsSelected" && dgvStandingOrder.CurrentCell is DataGridViewCheckBoxCell)
        {
            bool isChecked = (bool)dgvStandingOrder[e.ColumnIndex, e.RowIndex].EditedFormattedValue;
            if (isChecked == false)
            {
                dgvStandingOrder.Rows[e.RowIndex].Cells["Status"].Value = "";
            }
            dgvStandingOrder.EndEdit();
        }
    }
    
    private void dgvStandingOrder_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    
        dgvStandingOrder.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
    
    private void dgvStandingOrder_CurrentCellDirtyStateChanged(object sender, EventArgs e)
    {
        if (dgvStandingOrder.CurrentCell is DataGridViewCheckBoxCell)
        {
            dgvStandingOrder.CommitEdit(DataGridViewDataErrorContexts.Commit);
        }
    }
    

提交回复
热议问题