I have checkboxes in one of my columns in DataGridView.
And now I have a problem: When I click once on Checkbox it changes but only visualy, in code its value is still set to false. But if I click on Checkbox and then anywhere else on my datagridview (or change its value manually in code on true) it changes its value on true.
How can I force my checkbox to change value after one click? (it's annoying that checking checkbox actually does not check it).
Thanks for any help.
Changes to underlying data source are applied when the controls lose the focus.
You can handle it explicitly in CellContentClick
event.
Please read the linked documentation thoroughly, as it describes similar scenarios, and discusses different type of grid cells.
Found also this. Exactly the same problem.
Lets assume like you have a form with name Form1
A DataGridView in it name dgv
A CheckBoxColumn in it with ColumnIndex = 5
public Form1()
{
InitializeComponent();
dgv.CellContentClick += dgv_CellContentClick;
}
Commit the change for datagrid within the event for that specific column
private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5) dgv.EndEdit();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With