Jür*_*ock 5 .net c# datagridview datagridviewcheckboxcell winforms
我有一个 System.Windows.Forms DataGridView 绑定到List<MyObject>.
MyObject 类包含绑定到 DataGridView 中的 DataGridViewCheckboxCell 的布尔属性。
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;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我更改HasCustomValue另一个(只读)属性CurrentValue的值也会更改它的值。这是通过实现 INotifyPropertyChanged 事件来完成的(为了简单起见,我将该部分留在了源示例中)
如果我HasCustomValue从 DataGridView 外部更改,绑定到的列CurrentValue会立即更新。但是,如果用户启用/禁用复选框,HasCustomValue则不会在基础数据源中更改,除非他通过单击鼠标或按 TAB 键离开该列。
有没有办法在更改复选框值后强制网格直接更新数据源?
如果我绑定了一个控件属性,我可以设置为DataSourceUpdateMode,Windows.Forms.DataSourceUpdateMode.OnPropertyChanged但我在 DataGridView 中没有找到类似的东西
| 归档时间: |
|
| 查看次数: |
13198 次 |
| 最近记录: |