DataGridView CheckBox column doesn't apply cha

2019-01-09 19:07发布

问题:

I have a list of Record objects that serve as rows in my DataGridView. Each Record has a new bool value Helped. Sure enough, this new value shows up as check mark in my form.

As it stands currently, when this box is checked it doesn't seem to change the value of Helped bool in the corresponding Record.

Is there some sort of read-only property I need to change? How do I pass a click on my form back as a change in value of its DataSource?

Edit: I've found the System.Windows.Forms.DataGridViewEditMode.EditOnEnter property, but I'm still not seeing my Record.Helped property get updated.

回答1:

As it stands currently, when this box is checked it doesn't seem to change the value of Helped bool in the corresponding Record.

The changes which you make on a cell of DataGridView, doesn't commit immediately to the data source until you finish editing the cell, then changes will be pushed to data source. If for any reason you want to push changes sooner, you can call:

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);

For example you can do that in CellContentClick event of your DataGridView to push check box value to the underlying property of data source.