You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExpress WinForms中如何绑定GridView到对象列表实现UI自动同步

DevExpress WinForms 绑定对象列表到DataGridView实现UI实时同步

直接按以下步骤配置即可,不需要额外写手动刷新逻辑:

  • 第一步:给绑定的实体类实现INotifyPropertyChanged接口
    这一步是保证单个对象的属性值修改时,UI能收到变更通知的基础,示例代码:
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    
    public class BizDataModel : INotifyPropertyChanged
    {
        private string _code;
        private decimal _amount;
    
        public string Code
        {
            get => _code;
            set { _code = value; OnPropertyChanged(); }
        }
    
        public decimal Amount
        {
            get => _amount;
            set { _amount = value; OnPropertyChanged(); }
        }
    
        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged([CallerMemberName] string propName = null)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
        }
    }
    
  • 第二步:使用支持列表变更通知的集合类型存储数据
    不要用普通List<T>做数据源,它不会对外通知增删、元素替换的变更,优先用BindingList<T>,WinForms数据绑定对这个类型的兼容性最好,DevExpress控件原生支持它的所有变更通知:
    // 全局定义绑定集合
    private BindingList<BizDataModel> _dataList = new BindingList<BizDataModel>();
    
    注意:不推荐用ObservableCollection<T>,这个类型是WPF生态优先的,在WinForms下绑定存在部分通知不触发的兼容问题
  • 第三步:正确配置控件绑定
    推荐加一层BindingSource做中转,后续不管是增删集合元素、修改元素属性,UI都会自动同步,不需要手动调用刷新方法:
    private void Form_Load(object sender, EventArgs e)
    {
        BindingSource dataSource = new BindingSource();
        dataSource.DataSource = _dataList;
    
        // 原生DataGridView用这行
        dataGridView1.DataSource = dataSource;
    
        // DevExpress GridControl 替换成下面这行即可
        // gridControl1.DataSource = dataSource;
    }
    
  • 常见踩坑说明
    • 不要跨UI线程直接修改集合或者对象属性,需要修改时调用控件的Invoke()方法切到UI线程执行,否则会抛出跨线程访问异常
    • 如果必须替换整个数据源集合,不要直接给_dataList重新new新对象,先调用_dataList.Clear()再逐个添加新元素,或者调用BindingSource.ResetBindings(false)触发全量刷新
    • 如果需要用到排序、过滤功能,DevExpress GridControl会基于BindingList<T>自动实现,不需要额外自定义集合逻辑

内容的提问来源于stack exchange,提问作者amani abourida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 01:48:46