c#中关于BindingSource 类

注意:此类在 .NET Framework 2.0 版中是新增的。

封装窗体的数据源。

命名空间:System.Windows.Forms

程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

BindingSource 组件有两种用途。首先,它通过提供一个间接寻址层、当前项管理、更改通知和其他服务简化了窗体中控件到数据的绑定。这是通过将 BindingSource 组件附加到数据源,然后将窗体中的控件绑定到 BindingSource 组件来实现的。与数据的所有进一步交互,包括定位、排序、筛选和更新,都通过调用 BindingSource 组件实现。

第二,BindingSource 组件可以作为一个强类型的数据源。通常,基础数据源的类型通过以下机制之一固定:

  • 使用 Add 方法可将某项添加到 BindingSource 组件中。

  • DataSource 属性设置为一个列表、单个对象或类型。

这两种机制都创建一个强类型列表。BindingSource 支持由其 DataSourceDataMember 属性指示的简单数据绑定和复杂数据绑定。

BindingSource 提供了用于访问基础数据的成员。通过 Current 属性可以检索当前项,通过 List 属性可以检索整个列表。通过 CurrentRemoveCurrentEndEditCancelEditAddAddNew 方法可支持对当前项的编辑操作。尽管对于所有基础数据源类型会自动处理当前项管理,但该类公开了许多允许自定义的事件,例如 CurrentItemChangedDataSourceChanged

绑定到 BindingSource 组件的数据源也可以使用 BindingNavigator 类定位和管理,该类提供像 VCR 一样的用户界面 (UI) 用于定位列表中的项。尽管 BindingNavigator 可以绑定到任何数据源,但它被设计为通过其 BindingNavigator.BindingSource 属性与 BindingSource 组件集成。

BindingSource 类的默认属性为 DataSource。默认事件为 CurrentChanged

具体可以参考http://msdn.microsoft.com/zh-cn/library/system.windows.forms.bindingsource(v=vs.80).aspx