gpt4 book ai didi

c# - DataGridView 在更改 Checkbox 值后直接更新数据源

转载 作者:太空狗 更新时间:2023-10-30 00:45:54 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 List<MyObject> 的 System.Windows.Forms DataGridView .
MyObject 类包含绑定(bind)到 DataGridView 中的 DataGridViewCheckboxCell 的 bool 属性。

public class MyObject
{
public decimal DefaultValue {get; set; }
public bool HasCustomValue {get;set; }
public decimal CustomValue {get;set; }
public decimal CurrentValue
{
get
{
return HasCustomValue
? CustomValue
: DefaultValue;
}
}

如果我更改 HasCustomValue 的值另一个(只读)属性 CurrentValue也改变了它的值(value)。这是通过实现 INotifyPropertyChanged 事件来完成的(为了简单起见,我将该部分留在了源示例中)

如果我改变了 HasCustomValue从 DataGridView 外部,列绑定(bind)到 CurrentValue立即更新。但是,如果用户启用/禁用复选框,HasCustomValue除非他通过单击鼠标或按 TAB 键离开列,否则在基础数据源中不会更改。

有没有办法强制网格在更改复选框值后直接更新数据源?

如果我绑定(bind)一个控件属性,我就可以设置 DataSourceUpdateModeWindows.Forms.DataSourceUpdateMode.OnPropertyChanged但我没有在 DataGridView 中找到类似的东西

最佳答案

我假设您正在使用 bindingsource,然后在 Check Box Click 事件/Edited 上执行 ,

    BindingSource.EndEdit()

关于c# - DataGridView 在更改 Checkbox 值后直接更新数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4585897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com