如何清除绑定源?

How to clear a binding source?

我有这个型号:

public class CustomerType
{
    public int Id {get; set;}
    public string Name {get; set;}
    public string Description {get; set;}
}

然后,我在 WinForms 窗体上有一个绑定源,并通过执行以下操作将其绑定到现有对象:

var customerType = repository.Get(id);
bindingSource.DataSource = customerType;

我想清除数据源,所以我这样做了:

bindingSource.DataSource = null;

但我得到以下异常:Cannot bind to the property or column Name on the DataSource.

将变量 customerType 设置为 null 不会清除数据源。

那么清除数据源的正确方法是什么?

你可以试试

bindingSource.DataSource = typeof(CustomerType);

这是 visual studio 默认分配的内容。

首先,清空数据源:

this.bindingSource.DataSource = null;

然后清除行:

this.bindingSource.Rows.Clear();

然后将数据源设置为新列表:

this.bindingSource.DataSource = this.GetNewValues();