C# Winform实现数据双向绑定

DataGridView绑定数据时通常会使用控件得DataSource属性。
但是当我们修改绑定的数据时表格不会立即刷新,需要使用Refresh()方法控制表格刷新数据源。
下面介绍如何实现数据的双向绑定(数据源改变时,对应控件立即改变)

  1. 数据源的对象集合由List改为BindingList;
  2. 在数据源的实体类中实现 INotifyPropertyChanged 接口;
  3. 在属性的Set方法下添加OnPropertyChanged()方法;
private string value;
public string Value
{
    get { return value; }
    set
    {
        this.value = value;
        OnPropertyChanged("Value");
    }
}
 public event PropertyChangedEventHandler PropertyChanged;
 public void OnPropertyChanged(string name)
 {
     var hander = PropertyChanged;
     hander?.Invoke(this, new PropertyChangedEventArgs(name));
 }

可以仅对需要改变的属性修改Set方法

以上适用于任何可以绑定集合数据的控件

相关推荐

  1. C# Winform实现数据双向

    2024-03-20 06:28:06       45 阅读
  2. Vue 双向数据

    2024-03-20 06:28:06       40 阅读
  3. vue2 双向数据实现及原理

    2024-03-20 06:28:06       28 阅读
  4. Vue中双向数据是如何实现

    2024-03-20 06:28:06       28 阅读
  5. 如果reactive数据没有双向

    2024-03-20 06:28:06       55 阅读
  6. Vue的双向数据原理

    2024-03-20 06:28:06       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 06:28:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 06:28:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 06:28:06       82 阅读
  4. Python语言-面向对象

    2024-03-20 06:28:06       91 阅读

热门阅读

  1. GPT系列模型的特点

    2024-03-20 06:28:06       44 阅读
  2. 抖音商城小店电话采集使用教程

    2024-03-20 06:28:06       125 阅读
  3. Vue 3 之 嵌套路由

    2024-03-20 06:28:06       37 阅读
  4. C/C++蓝桥杯之卡片问题

    2024-03-20 06:28:06       41 阅读
  5. opencv逐帧获取视频图片

    2024-03-20 06:28:06       47 阅读
  6. 尚硅谷数据库|视图/存储过程与函数/流程控制

    2024-03-20 06:28:06       37 阅读
  7. nginx日志统计qps

    2024-03-20 06:28:06       42 阅读
  8. 记一次Jenkins打包镜像报错问题

    2024-03-20 06:28:06       35 阅读