DataGridView CheckBox 列不会将更改应用于底层绑定对象

MrD*_*ium 4 c# checkbox datagridview datagridviewcheckboxcell winforms

我有一个Record对象列表,用作我的 DataGridView 中的行。每个Record都有一个新的 bool 值Helped。果然,这个新值在我的表单中显示为复选标记。

当它目前时,检查此框时,似乎似乎Helped在相应的BOOL中尚未更改BOOL的值Record

我需要更改某种只读属性吗?如何将我的表单上的点击作为其值的变化传回DataSource

编辑:我已经找到了该System.Windows.Forms.DataGridViewEditMode.EditOnEnter属性,但我仍然没有看到我的Record.Helped属性得到更新。

Rez*_*aei 5

当它目前时,当检查此框时,似乎似乎在相应的记录中似乎更改了帮助Bool的值。

您在 , 单元格上DataGridView所做的更改在您完成单元格编辑之前不会立即提交到数据源,然后更改将被推送到数据源。如果出于任何原因您想更快地推送更改,您可以调用:

dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
Run Code Online (Sandbox Code Playgroud)

例如,你可以做,在CellContentClick你的情况下DataGridView,以复选框值推到数据源的基本属性。